我有一个pb与这个批处理脚本,我已经花了1个小时试图解决它!但没有机会
我尝试使用关于条件的字符串设置变量TYP(CON是字符串),pb关注TYP变量。我无法设置此变量,当然我无法回显该值。
我需要帮助
@ECHO OFF
cls
setlocal enableDelayedExpansion
SET ROOT="C:\Users\7642FH\Local\RawFile"
SET ROOT=%ROOT:~1%
SET ROOT=%ROOT:~0,-1%
SET TYPE1=Actual
SET TYPE1=Forcast
set TYP =
FOR /F %%d in ('DIR %ROOT% /AD /B') DO (
FOR /F %%f in ('DIR "%ROOT%\%%d\*.*" /B') DO (
echo %%d
ECHO %%f
SET x=%%f
set y=!x:~0,3%!
IF CON ==!y! (
set TYP = aaa
echo aaa
echo !TYP!
) else (
echo rrr
set TYP = rrrr
echo !TYP!
)
)
)
endlocal
echo on
答案 0 :(得分:3)
你的问题在这里:
set TYP = aaa
在这里:
set TYP = rrrr
您定义一个名为" TYP"的变量,而不是" TYP"
写
set TYP=aaa
代替。 (如果空格是变量名称的预期部分,则用!TYP !
引用它)
甚至更好:
set "TYP=aaa"
可防止值末尾出现意外空格。
答案 1 :(得分:1)
set y=!x:~0,3%!
中有一个额外的%符号。