批处理 for循环放到if条件里面得不到值??
发布网友
发布时间:2023-10-12 08:43
我来回答
共3个回答
热心网友
时间:2024-11-28 20:15
if exist e:\pro(
FOR /F %%i in (e:\a.log) do (set cnt=%%i)
echo %cnt% 此时输出的值就是空的了!
-----这个无论怎么办,都是""了!
)
第一句括号前少个空格
if exist e:\pro (
FOR /F %%i in (e:\a.log) do (
call set cnt=%%i
call echo.%%cnt%%
)
试试这个。
要是行的话,你了解下“变量延迟”
参考资料:http://hi.baidu.com/ynnal911/blog/item/2e91f91bd7c6e50a34fa41d6.html
热心网友
时间:2024-11-28 20:15
@echo off & setlocal enabledelayedexpansion
if exist e:\pro(
FOR /F %%i in (e:\a.log) do (set cnt=%%i)
echo !cnt!
)
pause
热心网友
时间:2024-11-28 20:16
::方法1
setlocal enabledelayedexpansion
if exist e:\pro (
FOR /F %%i in (e:\a.log) do (set cnt=%%i)
echo !cnt!)
::方法2
if exist e:\pro (
FOR /F %%i in (e:\a.log) do (set cnt=%%i)
call echo %%cnt%%
)
将你的代码改成上面两种的其中一种就可以了
要是不明白请访问:
参考资料:http://hi.baidu.com/ynnal911/blog/item/2e91f91bd7c6e50a34fa41d6.html