重写其他批处理文件中的某些变量



所以,基本上我正在编写一个批处理文件,其中有多个变量是从另一个名为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
)

最新更新