考虑下面的代码片段:如果脚本是从路径称为无空格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