我想在找到结果时运行命令,但似乎没有用。我们的计算机名称类似于 HS-33-123-WC、HS-34-456-X 结果似乎不是我想要的。似乎我没有制作正确的脚本 if %%a==WC goto dhcp and 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%
然后在下面的代码中使用。