簡體   English   中英

如何在目錄路徑中多次返回?

[英]How to go back multiple times in a directory path?

我正在嘗試為幾個文件夾創建完整路徑。 基本上有一個稱為批處理腳本的腳本,這些是將在該腳本內部使用的命令。 我這樣做:

ECHO OFF
SET currentDirectory=%~dp0
echo %currentDirectory:~0,-15%

SET ROOT = %currentDirectory:~0,-15%
SET MNIST_DIR = %currentDirectory:~0,-1%
SET DATA = %ROOT%/data/mnist
SET BUILD= %ROOT%/Build/x64/Release
SET BACKEND=lmdb

%~dp0的輸出為N:\\caffe-master\\examples\\mnist
所以%currentDirectory:~0,-15%我的意思是訪問N:\\caffe-master\\ 但是,看來我在做什么是錯誤的,並且以下命令無法執行!

"%BUILD%/convert_mnist_data.exe" %DATA%/t10k-images-idx3-ubyte %DATA%/t10k-labels-idx1-ubyte %EXAMPLES%\mnist_test_%BACKEND% --backend=%BACKEND%

我怎么解決這個問題。 請注意,我也嘗試了CD / D也無濟於事。 這就是我想出的。

這個怎么樣:

@echo off
SET currentDirectory=%~dp0
PUSHD %CD%
CD ..
CD ..
SET MNIST_DIR=%CD%
POPD
ECHO %MNIST_DIR%
PAUSE

這將生成輸出N:\\caffe-master\\

編輯:通過在腳本的末尾使用PUSHD %CD%POPD ,我們可以確保我們將始終以原始目錄結尾。

..是文件夾的父文件夾(而.是文件夾本身)。 因此, c:\\windows\\system32\\drivers\\..\\..等於c:\\windows (與c:\\windows\\system32\\drivers\\..\\..\\.\\.\\.\\.\\. )。

麻生太郎

等號兩邊沒有空格。 您正在設置%root %

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM