好的,所以下面的脚本会删除之前和之后的空格,现在可以正常工作了。我相信有更好的方法来写这个。
setlocal enableextensions enabledelayedexpansion
for /f "tokens=1-2 delims=:" %a in ('netsh wlan show interface^|find "Name"') do (echo %b >> c:\temp\WLANINT.txt)
for /f "delims=" %x in (c:\temp\WLANINT.txt) do SET WLANINT=%x
:SpaceX
echo "%WLANINT%"
IF "%WLANINT:~0,1%"==" " (SET WLANINT=%WLANINT:~1,-1%)
echo "%WLANINT%"
IF "%WLANINT:~0,1%"==" " GOTO SpaceX
echo "%WLANINT%"
for /l %a in (1,1,100) do if "!WLANINT:~-1!"==" " set WLANINT=!WLANINT:~0,-1!
echo."%WLANINT%"
netsh wlan set profileorder name="%WIFI%" interface="%WLANINT%" priority=1
echo "%WLANINT%"
答案 0 :(得分:0)
尝试下一个代码段(另存为31194241.bat
;运行它可能需要管理权限):
@ECHO OFF >NUL
SETLOCAL enableextensions
for /f "tokens=1,* delims=:" %%a in ('
netsh wlan show interface^|find "Name"
') do for /f "tokens=*" %%x in ("%%b") do (
echo netsh wlan set profileorder name="%WIFI%" interface="%%x" priority=1
)
对您的脚本所做的更改(read more):
%a
,%b
,%c
中将%%a
,%%b
,%%c
的百分号加倍,以便在{{1}中使用}} script; .bat
将留下修剪空白区域; for /f "tokens=*"
命令仅仅netsh
仅用于调试目的(在调试之后将echo
替换为echo netsh
。)而不是批处理,可以使用命令行中的单行代码:
netsh