批处理文件匹配机器名称的开头

批处理文件匹配机器名称的开头

我需要做的是向现有的批处理文件中添加几行,以便它根据机器名称采取不同的行动。

我们有一个标准化的命名方案,其中机器名称的前三个字母表示机器类型和位置。对于其中三个机器前缀,我想运行命令,对于其余的,我不想。

到目前为止我所得到的是,像这样的命令将找到机器名称中的字符并返回名称,或者根据它是否匹配而不返回任何内容:

echo %COMPUTERNAME% | FIND /I "UKD"

使用这样的循环将对多个名称执行相同的操作:

FOR %%A IN (UKD UKL USD) DO echo %COMPUTERNAME% | FIND /C /I "%%A"

我还没搞清楚如何在IF语句或类似语句中使用这两个语句的输出。有人能帮我吗?

答案1

首先从机器名称中提取前三个字符,例如:

SET Name=%computername%
SET FirstThreeChars=%computername:~0,3%

然后使用 FirstThreeChars 变量运行 IF 循环。

相关内容