將 CMD CD 設定為運行批次的目錄

將 CMD CD 設定為運行批次的目錄

我正在嘗試創建一個批次腳本,它將在不同的環境中打開一個程式(這樣我就可以製作它的便攜式版本)。

我用它set APPDATA=%CD%\data來告訴它要這樣做。我面臨的問題是,批次開始時出現以下錯誤:

CMD.EXE was started with the above path as the current directory. UNC paths are not supported. Defaulting to Windows directory.

我想改為使用cd命令將其更改為批次目錄。是否有捷徑可尋?

答案1

如果它位於網路磁碟機上,除非您映射購買的驅動器,否則您可能仍然會遇到問題,為什麼不執行以下操作呢?

APPDATA=%~dp0
cd /d %APPDATA%

透過執行 cls,您也可以清除錯誤,但如果腳本從 UNC 路徑運行,您將收到此錯誤,您只需映射它或 CLS 錯誤即可。

答案2

嘗試將其放入批次中:

pushd "%~p0" 2> nul
pushd "\\%~p0" 2> nul

如果從 UNC 資料夾啟動,第一行將失敗,但第二行可以工作。

如果從磁碟機對應資料夾啟動,第二行將失敗,但第一行可以工作。

無論哪種方式,當前資料夾都將是批次檔所在的位置,您可以從那裡更改資料夾。

稍後,您可以用來cd顯示您正在使用哪個資料夾。

相關內容