batch-file - 如何在批处理文件中禁用用户输入?
问题描述
这是代码:
@echo off
color 0a
set /p object="Name an object (article included): "
set /p person="Name a person: "
set /p place="Name a place: "
echo %person% decided it was a good idea to take %object% to %place%. It was not.
set /p DUMMY=Hit Enter to proceed.
我想这样当Hit Enter to proceed
部件出现时,你不能输入任何东西,直到你按下 Enter 键。
解决方案
好的。set /P
当用户在命令中输入“任何内容”作为响应时,当您说“程序可能会中断”时,也许您可能错了。无论如何,这段代码做你想做的事:
@echo off
setlocal EnableDelayedExpansion
rem Get a CR
for /F %%a in ('copy /Z "%~F0" NUL') do set "CR=%%a"
set /P "=Hit Enter to proceed. " < NUL
:getKey
set "key="
for /F "delims=" %%K in ('xcopy /W "%~F0" "%~F0" 2^>NUL') do (
if not defined key set "key=%%K"
)
if "!key:~-1!" neq "!CR!" goto getKey
echo/
echo Proceeding...
推荐阅读
- html - 如何修复拒绝在框架中显示,因为它将'X-Frame-Options'设置为'sameorigin
- node.js - 如何使用nodejs在cassandra中插入媒体文件?
- mysql - Buffio 扫描仪停止从 mysqldump 标准输出读取一半的行
- tensorflow - 我可以使用 tensorflow keras 模型优化工具包对 keras 预训练模型进行修剪吗?
- typescript - 如何在 Angular 6 中生成一个包含所有模块、组件、服务的库并在另一个项目中使用该库
- c# - C# WPF - 任务与多线程,并从中更新 UI 组件
- r - 用条件估算值单元
- selenium-webdriver - 如何修复“UnsupportedOperationError:找不到命令'POST /session/:id/timeouts/async_script'。” e2e 测试、Safari、量角器、硒?
- highcharts - 如何获取工具提示以同时显示两个时间序列的值?
- java - java.lang.IllegalArgumentException:尝试在范围 [0,1] 中写入行 [1],该行已写入磁盘