fciv.exe
ファイルがシステム ディレクトリに配置されていると仮定すると、C:\WINDOWS\system32
コマンド プロンプトから呼び出した場合と、バッチ スクリプト ファイルで使用した場合の両方で正しく機能します。例えば:
@echo off
fciv -md5 C:\DOCUME~1\myUsername
pause
上記のステートメントはうまく機能します。ただし、次の例のように、サイクルfciv
内で使用すると:for
@echo off
for /f "tokens=1 delims=/ " %%g in ('fciv -md5 C:\DOCUME~1\myUsername') do (echo %%g)
コマンドが認識されず、コマンド プロンプトからエラーが返されます。
"fciv" is not recognized as internal or external command, etc.
コマンドプロンプトでも同じステートメントが機能します-もちろん%g
変数を使用します。
バッチ ファイル内のサイクルでコマンドとして正しく解釈されるために、ファイルfor
へのフル パスを使用する必要がありfciv.exe
ます。
なぜこれが起こるのか説明できる人はいますか?