Bat文件创建&写入文件

时间:2014-10-26 01:34:52

标签: batch-file command-line cmd

我正在尝试使用.bat

创建和写入文件
@echo off

echo Jackdows loves my big sphinx >> %appdata%\data.html
echo Of quartz. >> %appdata%\data.html

exit

正常工作。但是,如果用户再次运行它,它会再次将相同的值写入文件。所以在文件中,有多个值。是否有可能阻止这种情况?

1 个答案:

答案 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%
)