Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 具有9个以上选项供用户输入的批处理文件_Batch File_Cmd - Fatal编程技术网

Batch file 具有9个以上选项供用户输入的批处理文件

Batch file 具有9个以上选项供用户输入的批处理文件,batch-file,cmd,Batch File,Cmd,所以我有这个简单的快捷脚本,但当我选择一个大于9的数字时,它会打开授权管理器,并且无法识别第二个数字。我已经尝试过这些设置,但都没有用,谷歌在这方面帮不了什么忙 @title Microsoft Management Console @echo ┌───────────────MAIN MENU─────────────────▄ @echo │Choices: █ @echo │

所以我有这个简单的快捷脚本,但当我选择一个大于9的数字时,它会打开授权管理器,并且无法识别第二个数字。我已经尝试过这些设置,但都没有用,谷歌在这方面帮不了什么忙

@title Microsoft Management Console
@echo ┌───────────────MAIN MENU─────────────────▄
@echo │Choices:                                 █
@echo │                                         █
@echo │ 1. Authorization Manager                █
@echo │ 2. Certificates Local Computer          █
@echo │ 3. Certificates Current User            █
@echo │ 4. Component Services                   █
@echo │ 5. Computer Management                  █
@echo │ 6. Device Manager                       █
@echo │ 7. Disk Manager                         █
@echo │ 8. Event Viewer                         █
@echo │ 9. Local Users Manager                  █
@echo │10. Performance Manager                  █
@echo │11. Print Server                         █
@echo │12. Services                             █
@echo │13. Shared Folder Manager                █
@echo │14. SQL Server Config                    █
@echo │15. Task Scheduler                       █
@echo │16. Windows Firewall                     █
@echo │17. Exit                                 █
@echo │                                         █
@echo └▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█

@set /p userinp=Type the number of your choice: 
@set userinp=%userinp:~0,1%
@if "%userinp%"=="1" azman.msc
@if "%userinp%"=="2" certlm.msc
@if "%userinp%"=="3" certmgr.msc
@if "%userinp%"=="4" comexp.msc
@if "%userinp%"=="5" compmgmt.msc
@if "%userinp%"=="6" devmgmt.msc
@if "%userinp%"=="7" diskmgmt
@if "%userinp%"=="8" eventvwr.msc
@if "%userinp%"=="9" lusrmgr.msc
@if "%userinp%"=="10" perfmon.msc
@if "%userinp%"=="11" printui /s /t2
@if "%userinp%"=="12" services.msc
@if "%userinp%"=="13" fsmgmt.msc
@if "%userinp%"=="14" sqlservermanager10.msc
@if "%userinp%"=="15" taskschd.msc
@if "%userinp%"=="16" wf.msc
@if "%userinp%"=="17" exit
改变

在原始版本中,您正在请求从第0个字符开始的1个字符。第一个数字表示起始字符索引,第二个数字表示要获取的字符数。

Change

@set userinp=%userinp:~0,1%


在原始版本中,您正在请求从第0个字符开始的1个字符。第一个数字表示起始字符索引,第二个数字表示要获取的字符数。

就是这样!令人惊叹的。我在7分钟内无法选择答案,但我会在午餐后打开页面进行选择。就这样!令人惊叹的。我无法在7分钟内选择答案,但我会在午餐后打开页面并进行选择。您可以在第一行中声明
@echo off
,这样您就不需要在每一行之前都添加
@
;并检查用于单键笔划选择的
choice
命令(您可以使用
A
Q
的字母);其优点是,它只接受预定义的选项;在命令提示窗口中键入
choice/?
以了解其工作原理…您可以在第一行中声明
@echo off
,这样您就不需要在每一行之前放置
@
;并检查用于单键笔划选择的
choice
命令(您可以使用
A
Q
的字母);其优点是,它只接受预定义的选项;在命令提示窗口中键入
choice/?
,了解其工作原理。。。
@set userinp=%userinp:~0,2%