我有以下脚本应该搜索变量的路径并将其存储在变量中:
FOR %%i IN (app.exe) DO (
SET app=%%~$PATH:i
ECHO %app%
)
但是echo的输出是空的,无论我是在for循环内部还是外部的ECHO。我错过了什么?
答案 0 :(得分:1)
如果要在括号范围内打印结果,则需要delayed expansion:
setlocal enableDelayedExpansion
FOR %%i IN (app.exe) DO (
SET "app=%%~$PATH:i"
ECHO !app!
)
您还可以使用where
command:
for /f "tokens=* delims=" %%a in ('where app.exe') do set "app=%%a"
echo %app%
答案 1 :(得分:0)
我知道了,不知怎的,我设法从我的系统PATH环境变量中删除了app.exe目录。我读了它,现在它有效...