我有一个批处理文件,它在执行自解压缩文件时运行。
必须将自解压文件复制到硬盘上的特定目录中。
在批处理文件中,询问用户路径的位置(如果它不在默认位置)。
批处理文件的一部分:
@ECHO OFF
IF EXIST "C:\Program Files\program\program.exe". (
set PROGRAMPATH=C:\Program Files\
) ELSE (
echo Program folder was not found. Please enter the path for Program
set /p PROGRAMPATH=Path:
)
echo Copying data to "%PROGRAMPATH%"...
copy /Y "*.txt" "%PROGRAMPATH%"
现在提出我的问题。
如果用户随后输入新路径,是否可以保存该路径。所以当他再次执行自解压文件时,它会记住新的路径吗?
答案 0 :(得分:1)
您可以通过执行
将路径保存到%USERPROFILE%下的某个文件中 echo %PROGRAMPATH% > "%USERPROFILE%\AppData\Local\progpath.txt"
然后通过执行
来阅读它 set /p PROGRAMPATH=<"%USERPROFILE%\AppData\Local\progpath.txt"
完整批次将如下所示
@ECHO OFF
set PROGRAMPATH=C:\Program Files\
IF EXIST "%USERPROFILE%\AppData\Local\progpath.txt". (
set /p PROGRAMPATH=<%USERPROFILE%\AppData\Local\progpath.txt
)
IF NOT EXIST "%PROGRAMPATH%\program.exe". (
echo Program folder was not found. Please enter the path for Program
set /p PROGRAMPATH=Path:
)
echo %PROGRAMPATH%>"%USERPROFILE%\AppData\Local\progpath.txt"
echo Copying data to "%PROGRAMPATH%"...
copy /Y "*.txt" "%PROGRAMPATH%"