我正在尝试编写一个.bat文件,在继续之前提示用户输入文件路径。但是,这是我计划在同一个文件上重复运行的脚本,因此每次都不需要重新输入该路径,这将节省我很多时间。我计划在每次运行时将路径保存到另一个文件。我希望我能做的是,当提示出现时,预先输入上一个路径。这样我就可以按Enter键或退格键并将其更改为新路径。我如何预先输入文字?可能吗?欢迎任何反馈或建议。
答案 0 :(得分:1)
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%
关键是如果单独使用 Enter 键,set /p
会使目标变量不受限制。
答案 1 :(得分:0)
@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文件。
多年前 - 当我以前每天都在命令脚本中工作时 - 我们有一些示例,其中这些类型的值将来自同一脚本文件的不同部分,并且保留的值将简单地写回到同一文件中;但是,我无法回忆起细节,这种单独的文件方法可以解决问题。