我正在尝试使用.bat
创建和写入文件@echo off
echo Jackdows loves my big sphinx >> %appdata%\data.html
echo Of quartz. >> %appdata%\data.html
exit
正常工作。但是,如果用户再次运行它,它会再次将相同的值写入文件。所以在文件中,有多个值。是否有可能阻止这种情况?
答案 0 :(得分:2)
>>
将文本附加到文件中,无论文件中是否存在其他文件。但是,您可以先搜索文件中的字符串,然后仅在该行尚不存在的情况下附加该行。
@echo off
:: Appends a string to a file only if that string is not present in that file
call :ainp "Jackdaws love my big sphinx" text.txt
call :ainp "Of quartz" text.txt
call :ainp "Rule Brittania" text.txt
exit /b
:: Append If Not Present
:AINP
set "search_string=%~1"
set "search_file=%~2"
>nul find "%search_string%" %search_file%
if %errorlevel% equ 1 (
>>%search_file% echo %search_string%
)