CMD选择查询

时间:2017-08-17 12:32:27

标签: batch-file cmd

我创建了一个简单的批处理文件,用于将我的连接模式更改为无线到LAN,反之亦然(我们公司有时会遇到我们的互联网连接问题,并会建议我们更改连接)。

这是代码(我只是脚本中的新手):

@ECHO off
cls
:start
ECHO.
ECHO *********************************************
ECHO Choose Connection Mode (!!!Case Sensitive!!!)
ECHO *********************************************
ECHO.
ECHO [W]ireless Mode On
ECHO [L]ocal Area Connection Mode On
ECHO [E]xit
ECHO.
set choice=
set /p choice=Select Connection Mode:
ECHO.
if not '%choice%'=='' set choice=%choice:~0,1%
if '%choice%'=='W' goto wireless
if '%choice%'=='L' goto local
if '%choice%'=='E' goto end
ECHO "%choice%" is not valid, try again
ECHO.
goto start
:wireless
netsh interface set interface "Local Area Connection" DISABLED
netsh interface set interface "Wireless Network Connection" ENABLED
ECHO.
goto end
:local
netsh interface set interface "Wireless Network Connection" DISABLED
netsh interface set interface "Local Area Connection" ENABLED
goto end
:end

有人可以解释一下这条线吗?

if not '%choice%'=='' set choice=%choice:~0,1%

我复制并编辑了一个我找到的脚本。只需要了解这一部分以便更好地理解

1 个答案:

答案 0 :(得分:0)

有问题的行检查以确保choice不是空字符串,然后提取它的第一个字符,并将其分配回choice。您可以在SS64's page on substring syntax in CMD找到有关子字符串提取的更多信息。

整个SS64 reference site对于查找bashCMDPowerShell和其他脚本语言的语法非常有用。我保留了书签......