创建脚本以使用命名方案重命名计算机
Create a script to rename computer using naming scheme
我有这个用于命名机器的脚本。它用于在我成功重新映像机器后自动重命名。一次做 40 或 50 次以节省时间。
SETLOCAL ENABLEDELAYEDEXPANSION
@ECHO OFF
SET count=1
SET campus=JOB
FOR /F "tokens=* USEBACKQ" %%F IN (`wmic bios get serialnumber`) DO (
SET serialnumber!count!=%%F
SET /a count=!count!+1
)
SET pcname=%campus%-%serialnumber2%
ENDLOCAL
WMIC computersystem where caption=%computername% rename %pcname%
pause
我有几个不同的校区,使用 3 或 4 个字符的名称方案并使用设备的序列号。我想知道是否有办法确定 %pcname% 是否小于或等于 15 个字符,如果不是,则将最后一位数字截断为等于 15 个字符?由于 Microsoft 只允许 15 个字符作为计算机名称,因此该脚本应该考虑到这一点。理论上。
刚刚:
set pcname=%pcname:~0,15%
长了会剪掉,长了会保持原样
在您的代码中:
SETLOCAL ENABLEDELAYEDEXPANSION
@ECHO OFF
SET count=1
SET campus=JOB
FOR /F "tokens=* USEBACKQ" %%F IN (`wmic bios get serialnumber`) DO (
SET serialnumber!count!=%%F
SET /a count=!count!+1
)
SET pcname=%campus%-%serialnumber2%
::
SET pcname=%pcname:~0,15%
SET pcname=%pcname: =%
::
WMIC computersystem where caption=%computername% rename %pcname%
pause
这应该可以解决问题![=12=]
SET pcname=%campus%-%serialnumber2%
set pcname=%pcname:~0,15%
REM ENDLOCAL
WMIC computersystem where caption=%computername% rename %pcname%
endlocal
将结束由前面的 setlocal
建立的本地环境,并丢弃此后对环境所做的任何更改(例如 - 更改变量的内容...)
我有这个用于命名机器的脚本。它用于在我成功重新映像机器后自动重命名。一次做 40 或 50 次以节省时间。
SETLOCAL ENABLEDELAYEDEXPANSION
@ECHO OFF
SET count=1
SET campus=JOB
FOR /F "tokens=* USEBACKQ" %%F IN (`wmic bios get serialnumber`) DO (
SET serialnumber!count!=%%F
SET /a count=!count!+1
)
SET pcname=%campus%-%serialnumber2%
ENDLOCAL
WMIC computersystem where caption=%computername% rename %pcname%
pause
我有几个不同的校区,使用 3 或 4 个字符的名称方案并使用设备的序列号。我想知道是否有办法确定 %pcname% 是否小于或等于 15 个字符,如果不是,则将最后一位数字截断为等于 15 个字符?由于 Microsoft 只允许 15 个字符作为计算机名称,因此该脚本应该考虑到这一点。理论上。
刚刚:
set pcname=%pcname:~0,15%
长了会剪掉,长了会保持原样
在您的代码中:
SETLOCAL ENABLEDELAYEDEXPANSION
@ECHO OFF
SET count=1
SET campus=JOB
FOR /F "tokens=* USEBACKQ" %%F IN (`wmic bios get serialnumber`) DO (
SET serialnumber!count!=%%F
SET /a count=!count!+1
)
SET pcname=%campus%-%serialnumber2%
::
SET pcname=%pcname:~0,15%
SET pcname=%pcname: =%
::
WMIC computersystem where caption=%computername% rename %pcname%
pause
这应该可以解决问题![=12=]
SET pcname=%campus%-%serialnumber2%
set pcname=%pcname:~0,15%
REM ENDLOCAL
WMIC computersystem where caption=%computername% rename %pcname%
endlocal
将结束由前面的 setlocal
建立的本地环境,并丢弃此后对环境所做的任何更改(例如 - 更改变量的内容...)