在for循環中執行EXE我有這個叫做find_java.bat一個批處理文件:不能條款
@echo off
for /f "delims=" %%a in ('C:\Programming\Android\android-sdk\tools\lib\find_java.exe') do (set java_exe=%%a)
的問題是,當我運行這個批處理文件,我得到:
'C:\Programming\Android\android-sdk\tools\lib\find_java.exe' is not recognized as an internal or external command, operable program or batch file.
然而,當該批處理文件只包含:
@echo off
C:\Programming\Android\android-sdk\tools\lib\find_java.exe
它執行命令就好了。
我是新來編寫批處理文件,但看着網上的例子這應該工作...
編輯: 對不起,重溫這這麼晚。
我找到了解決方案。這與ComSpec有關,原因我仍然不太明白。我COMSPEC是
%SystemRoot%\system32\cmd.exe;
我進入註冊表,改變
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\ComSpec
從
%SystemRoot%\system32\cmd.exe;
到
C:\Windows\system32\cmd.exe
然後註銷並重新和神奇,它的工作。 %SYSTEMROOT%爲C:\ Windows中,其他所有的系統變量使用它,
@echo off
for /f "delims=" %%a in ('"C:\Programming\Android\android-sdk\tools\lib\find_java.exe"') do (set java_exe=%%a)
完美工作,所以我真的不理解,但看到Command Line FOR /F Fails到可能使更多的感覺比我做到了。
只是一個猜測:也許雙斜槓? _'C:\\ Programming \\ Android \\ android-sdk \\ tools \\ lib \\ find_java.exe'_ – alfasin