自动接受用户输入 Windows Batch

2024-02-22

I have a batch file that loads on startup that presents the user with a "menu" of applications they can choose to load by typing the corresponding "menu number". How can we reduce user input, simplifying their selection, to automatically pass any key pressed to the command prompt without needing the Enter key to be pressed after their selection is typed? That is, if a user inputs 1, read that value as if the user had input 1 + Enter The constant here is that the menu only spans from 1-9, so the input from the user will ever only be 1 character long (if that's at all relevant).

简而言之,菜单是如何呈现的以及如何处理用户输入:

:menu
echo [Menu]
echo.
echo [1] - PuTTy
echo [2] - Chrome (Google)
echo.
echo [0] - Exit

SET /P M=(:
IF %M%==1 goto choice1
IF %M%==2 goto choice2
IF %M%==0 goto choice0

:choice1
start "" "%ProgramFiles(x86)%\PuTTy\putty.exe"
goto menu

:choice2
start "" "%ProgramFiles(x86)%\Google\Chrome\Application\chrome.exe" www.google.com
goto menu

:choice0
exit

您可以使用Choice http://ss64.com/nt/choice.html为了这。 所以你的脚本将类似于:

:menu
echo [Menu]
echo.
echo [1] - PuTTy
echo [2] - Chrome (Google)
echo.
echo [0] - Exit

choice /c 120 /n /m (:

IF errorlevel 3 goto choice0
IF errorlevel 2 goto choice2
IF errorlevel 1 goto choice1

:choice1
start "" "%ProgramFiles(x86)%\PuTTy\putty.exe"
goto menu

:choice2
start "" "%ProgramFiles(x86)%\Google\Chrome\Application\chrome.exe" www.google.com
goto menu

:choice0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自动接受用户输入 Windows Batch 的相关文章

  • 在 Windows 中使用 OpenAI API 密钥时出现问题

    我必须在自定义数据集上微调 OpenAI 模型 我已经创建了 jsonl 格式的数据集 我在 Windows 命令行上使用以下命令 set OPENAI API KEY
  • 在真实设备上通过命令行实现 UIAutomation

    我知道从Xcode 4 2可以运行UIAutomation通过命令行编写脚本 我已经尝试过这个并且在模拟器中对我来说工作得非常好 我想知道如何在实际设备中运行此命令 我搜索并获取了在设备上运行的命令 instruments w
  • 命令行参数中的“-”(破折号)有什么魔力?

    例子 创建 ISO 映像并将其直接刻录到 CD mkisofs V Photos r home vivek photos cdrecord v dev dev dvdrw 更改到上一个目录 cd 侦听端口 12345 并解压发送到该端口的数
  • 批处理:在特定程序中打开特定文件?

    当记事本是 txt 文件的默认程序时 如何告诉 Windows 在写字板中打开 C test test txt 接受的答案对我不起作用 我不确定这是因为我试图运行的程序 还是因为路径中有空格 即使我用引号引起来 或者其他原因 不管怎样 我可
  • 安装 oAuth PECL 错误:无法安装,当前用户无法写入频道“pecl.php.net”的 php_dir

    我尝试在 OS X 上安装 oAuth 但在终端中收到此错误 无法安装 当前用户无法写入频道 pecl php net 的 php dir 我如何让它可写 首先找出php dir在哪里 您可以使用 config get 命令来执行此操作 p
  • Linux 命令行工具验证 XSD 1.1?

    是否有任何命令行工具可以根据 XSD 版本验证 XML1 1 Xmllint https en wikipedia org wiki Libxml2不验证版本 1 1 我在 Xerces J 周围找到了一个方便的包装 https www d
  • 如何使用命令终止上次打开的 Internet Explorer 窗口?

    我正在尝试编写一个 Windows 命令文件来在 IE 中打开网页 等待其加载 然后关闭 IE 窗口 以下方法有效 但会杀死所有 IE 窗口 因此运行 cmd 之前已打开的所有 IE 窗口也将被关闭 start iexplore exe p
  • 在 C# 命令行应用程序中包含并执行 EXE

    所以我找到了一个很棒的小 EXE 命令行应用程序 我们将其称为 program exe 它输出一些我想用 C 操作的数据 我想知道是否有一种方法可以将program exe 打包 到我的Visual Studio项目文件中 这样我就可以将编
  • 为什么 Windows 批处理文件“exit”不能与“||”一起使用?

    批处理 命令脚本中的通常建议是使用exit b设置时退出ERRORLEVEL来指示错误 然而这与 CMD 的配合不太好 and 运营商 如果我在 CMD 命令行运行这些 C gt echo exit b 1 gt foo cmd C gt
  • 从命令行获取 NuGet.exe 版本

    我想得到NuGet exe使用命令行的版本 我知道我可以按照说明获取作为 Visual Studio 一部分运行的 NuGet 版本here http docs nuget org docs start here nuget faq How
  • 如何从 Linux 命令行获取视频文件的分辨率(宽度和高度)?

    我一直在挖掘 mplayer mencoder 和 ffmpeg 文档 但我似乎无法想出anything 我对输出格式不是特别挑剔 因为我可以使用正则表达式将其拉出来 我只是似乎无法首先获取数据 Use ffprobe https ffmp
  • 如何从linux命令行运行.exe可执行文件? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在 Windows 中有一个 abc exe 可执行文件 我可以使用 DOS 命令提示来执行此应用程序 并为其提供一些运行时变量 我想从
  • 使用 svn diff 时如何获取无上下文

    当我从命令行使用 svn diff 时 它会打印出已更改的行 以及前后 3 个未更改的行以获取上下文 我更喜欢只看到没有上下文的更改行 我无法确定任何命令行选项可以让我让它以这种方式运行 默认情况下 标准 diff 和 cvs diff 执
  • 如何在后台运行python程序以保持活动窗口相同

    我编写了一个程序 可以将前景窗口更改为显示器尺寸的 85 并且要成功运行 前景窗口需要保持不变 我已将 python 脚本 pyw 放入批处理文件 运行 pythonw 并在桌面上创建了批处理文件的快捷方式 并提供了快速运行它的快捷方式 我
  • 批量设置命令的输出和错误以分隔变量

    在Windows 7批处理 cmd exe命令行 中 我试图将命令的标准输出 stdout 和标准错误 stderr 重定向到单独的变量 因此第一个变量设置为输出 第二个变量设置为输出 变量设置为错误 如果有 而不使用任何临时文件 我已经尝
  • 无法在 Windows 上安装 Flex(词法分析器),无法找到全面的说明

    这学期我在大学上一门关于 Flex Bison 的课程 在尝试让 Flex 工作时遇到了严重的问题 可能是由于我自己的无能 但我正在寻找一个非常非常难以研究的解决方案 我正在尝试使用命令提示符导航到包含 l Lex 文件的文件 然后使用 F
  • VBscript 以提升的权限运行 bat 文件

    这是我的bat文件 REG DELETE HKLM Software Microsoft Windows CurrentVersion WindowsUpdate v SusClientId f REG DELETE HKLM Softwa
  • 如何在安装过程中运行“.bat”文件?

    在安装项目中 诸如 exe dll js vbs 之类的可执行文件是可以接受的 但无法运行 bat自定义操作中的文件 问题是如何运行 bat安装过程中的文件 好吧 经过大量搜索和反复试验 我解决了这个问题 我不确定这是否是最好的方法 但它确
  • 在shell命令行中创建mysql触发器

    我需要在命令行中创建一个mysql触发器 这个sql在mysql控制台中运行良好 sql USE DB1 DROP TRIGGER IF EXISTS my trigger DELIMITER CREATE TRIGGER my trigg
  • Windows 2000 说超时不是命令或批处理文件

    我只是在摆弄 CMD 并制作动画 ASCII 艺术 我一直在尝试在 Windows 2000 笔记本电脑上使用 超时 命令 但是每次我尝试这样做时 它只是说它不是内部或外部命令或批处理文件 这是一台运行 Windows 2000 的旧东芝

随机推荐