批处理文件中的Y或N语句

时间:2016-08-23 08:32:58

标签: batch-file

我是批处理文件的dabbler所以我的知识仅限于我的经验。我想要做的是将“Y或N”输入限制为只有Y或N.现在你可以把任何东西放在字段中并且代码进展。我试图做的是使用批处理文件创建一个热点。我还没弄明白如何“保存”创建的网络,但这不是一个真正的问题。

我已经包含了我所拥有的,线条是开始和结束,如果有人碰巧看到任何可以改进或不那么笨重的东西随时发表评论。

@echo off
:: BatchGotAdmin
:-------------------------------------
REM  --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
    echo Requesting administrative privileges...
    goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
    "%temp%\getadmin.vbs"
    exit /B
:gotAdmin
    if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
    pushd "%CD%"
    CD /D "%~dp0"
:-------------------------------------- 
@echo off
:SSID
set /P inputA="Input desired Network SSID:"
echo.
set /P c=Is %inputA% correct? [Y/N]?
echo.
if /I "%c%" EQU "Y" goto :PSWD
if /I "%c%" EQU "N" goto :SSID
:PSWD
set /P inputB="Input desired 8 to 63 character Network Password:"
echo.
set /P c=Is %inputB% correct? [Y/N]?
echo.
if /I "%c%" EQU "Y" goto :SETUP
if /I "%c%" EQU "N" goto :PSWD
:SETUP
netsh wlan set hostednetwork mode=allow ssid=%inputA% key=%inputB% >NUL
@echo Creating Network...
echo.
timeout /t 5 /nobreak > NUL
@echo Network Created!
echo.
timeout /t 1 /nobreak > NUL
set /P c=Would you like to start your new Network? [Press "Y" to continue/Press "N" to abort]
if /I "%c%" EQU "Y" goto :START
if /I "%c%" EQU "N" goto :BYE
:START
netsh wlan start hostednetwork
timeout /t 5 /nobreak > NUL
@echo Your Network has started!
pause
:BYE
Exit

1 个答案:

答案 0 :(得分:1)

不使用 console.log("datetime: " + $scope.datetimeValue); ,而是使用set /p命令。我个人会使用:

choice

这将显示:choice /m Correct? if %errorlevel% equ 1 goto PSWD if %errorlevel% equ 2 goto SSID 。如果命中y,它将转到Continue? [Y/N]?。如果他们点击n,则会转到:PSWD

choice命令的帮助部分(由:SSID命令提示符启动)

choice /?