我正在尝试为按主机名连接的服务器创建一个脚本。大约有200台服务器,我希望脚本能够连接到运行它的系统主机名下的设备。
示例:假设服务器的主机名为 lpmm01200 ,其中" lpmm01"服务器01位于" 200"。此位置的设备(例如工作站)可能是" lwmm01200"。位置编号始终为三位数,我希望拆分主机名以获取位置编号,然后再将其与脚本将连接到的所需设备名称配对。
我可以从代码中的set变量中打印主机名,但是如何将其拆分以获得尾随的三位数对我来说是一个谜。任何帮助表示赞赏。
@ECHO OFF
FOR /F %%H IN ('hostname') DO SET hostnamevar=%%H
ECHO %hostnamevar%
答案 0 :(得分:1)
您可以使用substring,如下所示
@echo off
for /f %%h in ('hostname') do set hostnamevar=%%h
set "locationvar=%hostnamevar:~6%"
set "servervar=%hostnamevar:~4,2%"
set "devicevar=%hostnamevar:~0,4%"
echo device:%devicevar%, server: %servervar%, location: %locationvar%
这应该给出这个输出:
device:lpmm, server: 01, location: 200