我想呼應,並使用Windows批處理腳本我寫這封信內%~dp0
變量路徑顯示短名稱,但在某些情況下,路徑包含腳本損壞其他部件的空間,我想雙引號%~dp0
但它仍然沒有工作,所以我想使用短名稱的路徑就像格式出現在dir /X
命令,但我需要你的幫助,爲%~dp0
只得到短名稱。有關在Windows批處理腳本空間
你能幫忙嗎?
我想呼應,並使用Windows批處理腳本我寫這封信內%~dp0
變量路徑顯示短名稱,但在某些情況下,路徑包含腳本損壞其他部件的空間,我想雙引號%~dp0
但它仍然沒有工作,所以我想使用短名稱的路徑就像格式出現在dir /X
命令,但我需要你的幫助,爲%~dp0
只得到短名稱。有關在Windows批處理腳本空間
你能幫忙嗎?
的%~dp0
變量之前的連字號,指出要刪除的開頭和結尾的引號,如果路徑中包含空格。
例如:
Path : C:\Program Files\application
%dp0 : "C:\Program Files\application"
%~dp0 : C:\Program Files\application
Path : C:\Windows\System32
%dp0 : C:\Windows\System32
%~dp0 : C:\Windows\System32
您強制使用由使用"%~dp0"
爲了使用帶有引號的路徑與start
命令引號,你需要設置一個窗口標題(可以是空白)。例如。 start %dp0
==>start "" %dp0
作爲@Cody_Gray的評論,沒有任何路徑確實有短名。
開始%〜dp0zookeeper \ BIN \ zkServer.cmd 這不工作,如果%〜dp0有空格 – user212051
@ user212051嘗試使用'開始「」「%〜dp0zookeeper \ bin \ zkServer.cmd」' – samdd
這是行得通!謝謝 ! 最後的事情,如何使這樣的事情工作? start%〜dp0drill \ bin \ sqlline.bat -u「jdbc:drill:zk = local」 – user212051
並不是每一個文件都有一個簡短的名稱。實際上,短名稱生成可以在文件系統級完全禁用。這不是一個可接受的解決方法。你需要弄清楚爲什麼你的文件名引用不起作用。 –
這不是'%dp0'變量的問題,聽起來像是腳本問題。你的腳本添加到您的問題 – samdd
啓動%〜dp0zookeeper \ BIN \ zkServer.cmd – user212051