cmd中的Computername变量

时间:2013-09-10 07:37:00

标签: windows variables cmd

在CMD中,以下变量将为您提供计算机的名称:%COMPUTERNAME%

我需要一个带有计算机名称部分的变量。

我需要一个if语句来检查computername在开始时是否包含“KM”而在结尾时是否包含00。它不应该看KM和-00之间的数字

KM100-00
KM200-00

4 个答案:

答案 0 :(得分:3)

这可以在这里工作:

echo %computername%| findstr "^KM.*00$" >nul && echo found the right format

答案 1 :(得分:2)

您可以使用substring命令执行此操作,如以下脚本:

pax> set xyzzy=KM100-00 KM200-00

pax> echo %xyzzy%
KM100-00 KM200-00

pax> echo %xyzzy:~0,2%
KM

pax> echo %xyzzy:~-2,2%
00

pax> if %xyzzy:~0,2%==KM if %xyzzy:~-2,2%==00 echo yes
yes

最终(链式)if语句是您要查看的变量,以查看您的变量是以KM开头还是以00结尾。

表达式%X:~Y,Z%将为您提供从变量Z的位置Y(从零开始)开始的X个字符。您可以提供负值Y,使其相对于字符串的结尾。

答案 2 :(得分:2)

echo %computername%| findstr /I /b "KM" | findstr /i /e "00" && echo computer name is like KM-XX-00

您也可以尝试使用hostname代替echo %computername%

答案 3 :(得分:1)

我建议你阅读this page,这是关于命令提示符中的子字符串用法。

为什么不尝试这个;

set str=KM2000-00
echo.%str%

set pre=%str:~0,2%
echo.%pre%

set pst=%str:~-2%
echo.%pst%

IF %pre% == KM( IF %pst% == 00( echo.true ) )

pause