考慮下面的代碼片段:如果腳本是從路徑稱爲無空格Windows批處理:與內部的完全合格的路徑包含空格調用一個exe運行
for /f "tokens=1,2 delims==" %%A in ('%~dp0otrtool\otrtool.exe "%~1" 2^>^&1') do echo %%A
回聲正常工作。爲了使之成爲工作的路徑與空格我加各地的.exe報價:
for /f "tokens=1,2 delims==" %%A in ('"%~dp0otrtool\otrtool.exe" "%~1" 2^>^&1') do echo %%A
現在我的回聲輸出錯誤信息Der Befehl "d:\Scripts\OTRTools\otrtool\otrtool.exe" "test" ist entweder falsch geschrieben oder konnte nicht gefunden werden.
,意思是「錯誤的命令或文件名」。如果我沒有使用for
"%~dp0otrtool\otrtool.exe" "%~1" 2^>^&1
它工作正常。任何想法如何解決線?
你有反斜槓嗎? for/f「tokens = 1,2 delims ==」%% A in('\「%〜dp0otrtool \ otrtool.exe \」「%〜1」2 ^> ^&1')do echo %% A – Aurelien
@Aurelien nope,反斜槓沒有幫助 –
你用usebackq選項嘗試嗎? for/f「usebackq tokens = 1,2 delims ==」%% A in('「%〜dp0otrtool \ otrtool.exe」「%〜1」2 ^> ^&1')do echo %% A – Aurelien