无论如何在批处理文件中有用户输入的预设数据吗?

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)


Aac*_*ini 3

下面的方法有一个不便之处,即用户输入数据之前必须清除屏幕,但我正在努力解决这一点:

编辑:我修复了第一个版本的细节

@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)

有关更多详细信息,请参阅这篇文章