私はこれを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)
完全に機能したので、正直なところわかりませんが、コマンドラインFOR/Fが私よりも理解できない可能性があります。