Jer*_*ler 5 command-line batch-file
所以基本上我有一个需要很多用户输入的批处理文件.我想知道在询问问题时是否有可能存在任何填充数据,如果用户需要更改某些内容,他们可以编辑该数据.例如
然后用户输入他们的名字和姓氏.

但是,是否可以从默认名称开始,用户可以返回并在需要时进行编辑?
这可能不是必需的,但这是我用于用户输入的代码.
Set /p "Author=Please enter your name: "
Run Code Online (Sandbox Code Playgroud)
而且我理解作者对预设数据没有多大意义,但是在其他情况下我会这样做有用.可能吗?
Ste*_*han 10
几乎不可能使用纯批次编辑预设值,但您可以轻松地给出默认值(有效,因为set /p如果输入为空则不触及变量)
set "author=First Last"
set /p "author=Enter name or press [ENTER] for default [%author%]: "
echo %author%
Run Code Online (Sandbox Code Playgroud)
下面的方法有一个不便之处,即用户输入数据之前必须清除屏幕,但我正在努力解决这一点:
编辑:我修复了第一个版本的细节
@if (@CodeSection == @Batch) @then
@echo off
rem Enter the prefill value
CScript //nologo //E:JScript "%~F0" "First Last"
rem Read the variable
echo -----------------------------------------------------------
set /P "Author=Please enter your name: "
echo Author=%Author%
goto :EOF
@end
WScript.CreateObject("WScript.Shell").SendKeys(WScript.Arguments(0));
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参阅这篇文章。