假设该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
文件的完整路径。
有谁能解释我为什么会发生这种情况?