使用 netsh 将无线配置文件部署到 windows 台计算机的批处理脚本中的 if 语句

if statements within batch scripts to deploy wireless profiles to windows computers using netsh

我想自动部署无线配置文件。

情况是,有 Windows 台计算机已经连接到网络 A。我想为网络 B 的所有计算机部署一个新的无线配置文件,但那些已经连接到网络的计算机除外A.

下面是我认为我需要的粗略想法,但是我正在努力寻找正确的代码。

netsh wlan show profile | find "wireless profile name"
if exist "wireless profile name"
    do nothing
else
    netsh wlan add profile filename="2nd wireless profile"

我知道顶行有效,我正在努力的部分是 if 语句以及如何使用 exist 函数检查 find 的结果。

您不需要为此任务使用 find.exe,只需使用返回的 ErrorLevel 从要求查看个人资料:

"%__AppDir__%netsh.exe" WLAN Show Profiles Name="wireless profile name">NUL
If ErrorLevel 1 "%__AppDir__%netsh.exe" WLAN Add Profile FileName="2nd wireless profile"

如果您确定您 运行 这台电脑在 %PATH%%PATHEXT% 下有默认条目,那么您可以将其缩短为:

NetSH WLAN Show Profiles Name="wireless profile name">NUL
If ErrorLevel 1 NetSH WLAN Add Profile FileName="2nd wireless profile"