我面临的问题是,我想要一个像这样工作的批处理脚本:
检查计算机主机名
- 如果计算机主机名以A405、A408、A410、A417或LAS开头(我认为我可以使用%var:0.4%或类似的smthing来检查前4个字符的完整主机名,对于LAS,它的3个字符-所有pc主机名都是这样给出的%CLASSROOM%-%PCNUM%(
- 然后从网络磁盘启动相应的reg文件(每个regfile禁用PROXY并为每个类设置一个新的默认和不同的主页,regfile已经完成(A405->J:/1.regA408->J:/2.reg等等
- 之后推出了启用了-k的internetexplorer。(启动iexplore-k(
但是我不知道如何使%computername%成为一个变量,因为设置host=%computername%,返回%computername%而不是工作站的实际名称,以及如何使用前面所说的-%host:0.4%进行检查,对于LAS,使用%host:0.3%并检查前4个字符。如果我说得不够清楚,我很抱歉。
我试着使用SO:的这个脚本
@echo off
rem Change this for testing, remove for production
set computername=xyz
set dropLoc=machine-abc
if "%computername%" == "xyz" (
set dropLoc=machine-xyz
)
echo %dropLoc%
但我做不到。
@echo off
rem Check "%computername%" vs. 4 chars. long names:
set regFile=0
for %%a in (A405 A408 A410 A417) do (
set /A regFile+=1
if "%computername:~0,4%" equ "%%a" goto found
)
rem Check "%computername%" vs. 3 chars. long names:
for %%a in (LAS) do (
set /A regFile+=1
if "%computername:~0,3%" equ "%%a" goto found
)
echo No matching hostname found
goto :EOF
:found
echo Hostame found, reg file: J:/%regFile%.reg