我想使用我的 %variable% 来管理批处理文件中的 IF.. THEN.. ELSE 中的条件子句。类似于以下内容:
set variable=%%homedrive%% EQU C:
if %variable% (
echo test ok
) else (
echo test fail
)
如果我在 cmd 控制台上写:
set test=1 equ 1
if %test% echo OK
有用!
我将在 for /f cicle 中使用它:这是我的伪代码这是我要纠正的伪代码
(
rem echo "%systemdrive%;;"
echo "%%COMPUTERNAME%% EQU [x];[some parameters1]"
echo "%%USERNAME%% NEQ [y];[some parameters2]"
echo "%%LOGONSERVER%% EQU [z];[some parameters3]"
[..]
) > "%temp%\CSG_fs.tmp"
[..]
for /f "usebackq tokens=1-2* delims=;" %%a in ("%temp%\CSG_fs.tmp") do (
set cond=%%a& set cond=!cond:~1!
set parm=%%b& set parm=!parm:~0,-1!
echo - cicle: "!cond!" --^> "!parm!"
call if !cond! call:CSG_sub_fs !parm!
echo - done
)
goto:eof
:CSG_sub_fs
[..]
goto:eof
- 编辑 -
我怎样才能使用变量!cond!决定是否执行对 CSG_sub_fs 的调用?
call if !cond! call:CSG_sub_fs !parm!
不起作用,因为它返回:“找不到指定的批次标签 - IF”
如果我使用
if !cond! call:CSG_sub_fs !parm!
它会说:“call:CSG_sub_fs not expected”