
我正在嘗試創建一個批次腳本,它將在不同的環境中打開一個程式(這樣我就可以製作它的便攜式版本)。
我用它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
顯示您正在使用哪個資料夾。