2015-08-26 106 views
0

我需要在網絡路徑(UNC路徑)中運行.bat文件。.bat文件中的相對網絡路徑

在開始的時候,我的bat文件是這樣的

cd subfolder 
some file operations 

當我測試了我的本地計算機上,它的工作,但是當我將文件移動到一個網絡目錄,我有:

'\\ComputerName\SharedFolder\Resource' is an invalid current directory path. UNC paths are not supported. 
Defaulting to Windows directory. 
C:\Windows 

我試圖用pushd命令,但它並沒有幫助:

pushd subfolder 
some file operations 

'\\ComputerName\SharedFolder\Resource' is an invalid current directory path. UNC paths are not supported. 
Defaulting to Windows directory. 
C:\Windows>pushd subfolder 
No such directory. 

我當然可以寫這樣的事情

pushd \\ComputerName\SharedFolder\Resource\subfolder 

,但我想用在多個文件夾相同的.bat文件,所以我想使用相對路徑。可能嗎?

+2

我不知道我理解你的問題,因爲你明顯知道如何使用pushd,但如果你想切換到包含你的批處理文件的文件夾的子文件夾,你可以使用'pushd%〜dp0 \ subfolder' – Joe

+0

Joe,是的'pushd%〜dp0'就是我的尋找 :)。請刪除您的評論,並將其寫爲答案。 – maro

+0

w0xx0m已將此添加到他的回答中,我建議您接受它。 – Joe

回答

1

只有pushd可以用來切換到UNC路徑,所以第一次使用pushd到批處理文件的路徑,然後cd subfolder

pushd %~dp0 
cd subfolder 
some file operations