결과를 찾을 때 명령을 실행하고 싶은데 작동하지 않는 것 같습니다. 우리 컴퓨터 이름은 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
:끝 @exit /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%
그런 다음 다음 코드에서 사용하십시오 .