批处理脚本:基于用户提示位置的文件存在

时间:2019-02-15 13:14:53

标签: batch-file

仅执行一次 用户首次执行批处理文件“ 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

2 个答案:

答案 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%

如果您需要重置默认设置,只需删除文件即可。