仅执行一次 用户首次执行批处理文件“ Test.bat”时,应提示用户输入目录路径,并将路径移至文本文件Path.txt,然后继续执行下一步:Nextcommand
无处不在 当用户第二次运行相同的批处理文件-'Test.bat'时,应检查上述用户指定目录中是否存在上述文件'Path.txt',如果可用,则继续执行下一步:Nextcommand else必须按照上述步骤创建文件。
我的代码
echo off
@echo off
IF EXIST "%FileLoc%\FileLocationPath.txt" GOTO :NextCommand
set loc= Enter File Location:
set /p FileLoc=%loc%
@echo %FileLoc%>>FileLocationPath.txt
GOTO :NextCommand
答案 0 :(得分:0)
这应该是您想要的。
@echo off
setlocal enabledelayedexpansion
call :check
if defined FileLoc (
echo %FileLoc%
pause
) else (
set /p "FileLoc=Enter File Location: "
echo/>>"%0"
echo set "FileLoc=!FileLoc!">>"%0"
)
goto :eof
:check
它将检查变量的存在,首先将不存在该变量,用户将输入该变量,然后一旦用户输入该位置,它将将该位置作为变量存储在:check
标签下。从现在开始,每次运行脚本时,都会调用检查标签并设置已经设置的位置。
答案 1 :(得分:0)
要使信息生存,您需要将其写入文件(还有其他可能性,例如注册表,但是文件是最简单的解决方案)
@echo off
setlocal
IF EXIST "FileLocationPath.txt" (
<"FileLocationPath.txt" set /p FileLoc=
goto :NextCommand
)
set /p "FileLoc=Enter File Location: "
>"FileLocationPath.txt" echo %FileLoc%
:NextCommand
echo using %FileLoc%
如果您需要重置默认设置,只需删除文件即可。