变量字符串有空格时命令行不起作用

时间:2016-01-29 15:05:14

标签: batch-file

当保存的wifi配置文件的名称是一个单词或没有空格时,以下代码可以正常工作。

"贝尔金"作品,

" Belkin.536.guests"作品,

"我的网络"不起作用,

错误是:"系统上没有这样的无线接口。"

我的计算机上有大约15个网络配置文件,唯一不与代码配合的网络配置文件中有空格。 " ECHO"命令每次都正常工作,所以我可以看到变量看起来是正确的。

NETSH WLAN SHOW PROFILES  
SET/P "PROFILE=Enter Profile Name : " 
ECHO Showing Info For : %PROFILE%  
NETSH WLAN SHOW PROFILES NAME=%PROFILE% key=clear 

请告诉我我做错了什么。

4 个答案:

答案 0 :(得分:1)

我认为你应该用引号括起你的字符串。如果你不这样做,空格后面的每个单词都会被视为一个命令。

答案 1 :(得分:0)

NETSH WLAN SHOW PROFILES NAME=%PROFILE% key=clear

如果%PROFILE%My Network,那么您正在执行此命令并且它会认为"网络"是另一个参数:

NETSH WLAN SHOW PROFILES NAME=My Network key=clear

但是,如果你只是添加这样的引号:

NETSH WLAN SHOW PROFILES NAME="%PROFILE%" key=clear

现在您正在执行此命令:

NETSH WLAN SHOW PROFILES NAME="My Network" key=clear

答案 2 :(得分:0)

在命令中使用通配符或*。例如:

NETSH WLAN SHOW PROFILES NAME="My*"

或查看所有连接(逐页):

NETSH WLAN SHOW PROFILES NAME=*|more

答案 3 :(得分:0)

正确的方法是: NETSH WLAN SHOW PROFILE NAME="name" key=clear

您正在写PROFILES,但是您应该只写PROFILE