如果名称不在文本文件中,则将计算机名写入文本文件

时间:2011-10-24 14:40:28

标签: batch-file

我有一个小型批处理文件,它将计算机名称写入log.txt。我需要批处理文件来扫描文件中当前的计算机名列表。如果名称存在,那么只需退出,如果名称doe snot存在,我需要它来编写它。

我已经编写了将计算机名称写入文件的部分

Echo %computername%>>C:\log.txt

现在我需要它来读取日志,并且只有在文件中不存在的情况下才写入计算机名称。

1 个答案:

答案 0 :(得分:3)

试试这个:

FINDSTR "^%computername%$" < C:\log.txt >NUL || ECHO %computername%>>C:\log.txt

FINDSTR命令在%computername%中搜索C:\log.txt,确保它不是某个其他名称的子字符串(^$符号搜索词,有关详细信息,请参阅FINDSTR /?。如果FINDSTR找不到任何内容,则会引发ERRORLEVEL

||命令分隔符表示在调用以下命令(ERRORLEVEL)之前应检查ECHO的值。如果引发ERRORLEVEL,则执行命令,否则不执行。

因此,如果FINDSTR找不到任何内容,名称将被添加到文件中。