%variable% を使用して、バッチ ファイルの IF.. THEN.. ELSE の条件節を管理したいと考えています。次のようなもの:
set variable=%%homedrive%% EQU C:
if %variable% (
echo test ok
) else (
echo test fail
)
私がコマンドコンソールに書いた場合:
set test=1 equ 1
if %test% echo OK
できます!
/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」と表示されます