所以,基本上我正在编写一个批处理文件,其中有多个变量是从另一个名为profiledata.bat的批处理文件中调用的。
程序检查文件是否存在。如果没有,它应该创建一个新文件。
if exist userprofiledata.bat (
set Pdata_exist=true
goto askPdata
) else (
goto newPdata
)
:newPdata
if exist userNUL (
if Pdata_exist=true goto delPdata
cd user
goto addPdata
) else (
mkdir user
cd user
goto addPdata
)
set var2=10
echo set var1=%var2%>profiledata.bat
set var2=20
echo set var1=%var2%>profiledata.bat
REM Var1 is rewritten because var 2 changed.
然后,它会将您的计算机信息写入文件。但是,我希望它,如果以后某个事情发生变化,它只会重写该变量,而不是文件的其余部分。
例如,echo
命令和>
将重写整个脚本,而不仅仅是variable
。我不能这样。相反,我想重写variable
.
我已经删除了所有前导反斜杠,并通过将它们括在双引号中来隔离Pdata_exist变量。
if exist userprofiledata.bat (
set "Pdata_exist=true"
goto askPdata
) else (
goto newPdata
)
:newPdata
if exist user (
if "%Pdata_exist%"=="true" goto delPdata
cd user
goto addPdata
) else (
mkdir user
cd user
goto addPdata
)