Windows cmd 建议输入

Windows cmd suggested input

我正在尝试编写一个 .bat 文件,在继续之前提示用户输入文件路径。但是,这是我计划 运行ning 对同一文件重复执行的脚本,因此不必每次都重新输入该路径会节省我很多时间。我计划在每次 运行 时将路径保存到另一个文件。我希望我能做的是,当提示出现时,预先输入以前的路径。这样我就可以直接按回车键,或者退格键并将其更改为新路径。我将如何去预先输入文本?可能吗?欢迎任何反馈或建议。

for /f "usebackq delims=" %%a in ("c:\path to\wherever\your\file.is") do set "filepath=%%a"
set /p "filepath=Select path or just [Enter] for %filepath%"
echo select path was "%filepath%"
>"c:\path to\wherever\your\file.is" echo %filepath%

重点是 set /p 如果单独使用 Enter 键,目标变量不会受到干扰。

@ECHO OFF
IF EXIST %~dpn0.save.cmd (CALL %~dpn0.save.cmd)
SET /p "savedpath=Please specify file path or press Enter for default [%savedpath%] : "
ECHO SET savedpath=%savedpath%> %~dpn0.save.cmd

这种方法的美妙之处在于,如果您在脚本的其他地方决定应该忘记保留的值,您只需删除 .save.cmd 文件。

几年前 - 当我每天都在命令脚本中工作时 - 我们有这样的例子,其中这些类型的值来自同一脚本文件的不同部分,而保留的值将简单地写回相同的文件;但是,我记不起细节了,这种单独文件的方法可以解决问题。