我编写了一个批处理文件,用于清理我的一个项目工作的恢复文件以进行测试。脚本解释如下:
它将运行一个可执行文件,它将一个dll文件作为参数,然后运行一个进程。
如果在进行某些计算之前该进程被终止,则会创建恢复文件。
此处我的脚本将在清理恢复文件后始终加载dll,以避免通过访问特定路径手动删除文件。
要制作通用,批处理脚本会将dll路径和dll名称存储在文本文件中,并自动选择路径。
以下是批处理脚本代码:
@echo off
::Display the information first time if variables not set. Store them for future retrieval
set "currPath=%cd%"
if exist dllPath.txt (
set /p dllPath<=dllPath.txt
) else (
set /p dllPath="Provide game dll path (1st time only): "
::save the environment variables
echo %dllPath% > "dllPath.txt"
)
if exist dllName.txt (
set /p dllName<=dllName.txt
) else (
set /p dllName="Provide game dll name (1st time only): "
::save the environment variables
echo %dllName% > "dllName.txt"
)
::clean the data
cd /D %dllPath%
@echo %dllPath%
del *.bin
del *.recovery
%dllPath%\..\..\RunProcess.exe -dll %dllPath%\%dllName%
cd /D %currPath%
脚本问题
首次从命令提示符运行脚本时,脚本能够正确地将dll路径和名称正确存储在文本文件中。
如果我从同一个命令提示符多次运行该脚本,则该过程将成功运行。
该命令的语法不正确。
我试图谷歌这个并尝试解决它,但不能。这可能是一个愚蠢的问题,但作为批处理脚本的新手,我没有任何其他选择。
答案 0 :(得分:2)
将=
放在<
之前。
set /p dllName=<dllName.txt