結果を見つけるときにコマンドを実行したいのですが、うまくいかないようです。コンピュータ名は HS-33-123-WC、HS-34-456-X のようなものです。結果は私が望むものにはならないようです。正しいスクリプトを作成しなかったようです。if %%a==WC goto dhcp および if %%a==X goto static
REM Display the 4th group of character(s) after -
wmic computersystem get name
for /f "tokens=4 delims=-" %%a in ("%computername%") do (echo %%a && goto next)
:next
if %%a==WC goto dhcp
if %%a==X goto static
:static
echo Static
pause
goto end
:dhcp
echo This is DHCP
pause
goto end
:終了 @終了 /b
答え1
このようなもの:
@echo off
REM Display the 4th group of character(s) after -
for /f "tokens=4 delims=-" %%a in ("%computername%") do (
echo "%%a"
set Var=%%a
)
if "%Var%"=="WC" goto dhcp
if "%Var%"=="X" goto static
:end
exit
:static
echo Static
pause
goto end
:dhcp
echo This is DHCP
pause
goto end
答え2
%%a
ループ内でのみ使用可能です。
ループ内でローカル変数を設定する必要があります。次のコマンドを追加します。
set var=%%a
%var%
次のコードで使用します。