Batch file 如果计算机名不在文本文件中,请将其写入文本文件

Batch file 如果计算机名不在文本文件中,请将其写入文本文件,batch-file,Batch File,我有一个小的批处理文件,它将计算机名写入log.txt。我需要批处理文件来扫描文件中当前的计算机名列表。如果名称存在,则退出;如果名称不存在,则需要它来写入 我已经编写了将计算机名写入文件的部分 Echo %computername%>>C:\log.txt 现在,我需要它来读取日志并仅在文件中不存在计算机名时才写入计算机名。尝试以下操作: FINDSTR "^%computername%$" < C:\log.txt >NUL || ECHO %computernam

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

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

Echo %computername%>>C:\log.txt
现在,我需要它来读取日志并仅在文件中不存在计算机名时才写入计算机名。

尝试以下操作:

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

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

因此,如果
FINDSTR
未找到任何内容,则该名称将添加到文件中