Windows批量检查主机名,如果包含四个或三个字符,则执行此操作



我面临的问题是,我想要一个像这样工作的批处理脚本:

检查计算机主机名

  1. 如果计算机主机名以A405、A408、A410、A417或LAS开头(我认为我可以使用%var:0.4%或类似的smthing来检查前4个字符的完整主机名,对于LAS,它的3个字符-所有pc主机名都是这样给出的%CLASSROOM%-%PCNUM%(
  2. 然后从网络磁盘启动相应的reg文件(每个regfile禁用PROXY并为每个类设置一个新的默认和不同的主页,regfile已经完成(A405->J:/1.regA408->J:/2.reg等等
  3. 之后推出了启用了-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

相关内容

  • 没有找到相关文章

最新更新