[英]cd command : how to go back an unknown number of levels from current subdirectory to a particular parent directory (unix and dos)
[英]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.