Попробуйте:
FINDSTR "^%computername%$" < C:\log.txt >NUL || ECHO %computername%>>C:\log.txt
Команда FINDSTR
ищет %computername%
в C:\log.txt
, проверяя, не является ли она подстрокой другого имени (^
и $
символы вокруг термина поиска, см. FINDSTR /?
для получения дополнительной информации).Если FINDSTR
ничего не находит, он вызывает ERRORLEVEL
.
Разделитель команд ||
означает, что значение ERRORLEVEL
должно быть проверено перед вызовом следующей команды (ECHO
).Если значение ERRORLEVEL
повышено, команда выполняется, в противном случае она не выполняется.
Таким образом, если FINDSTR
ничего не находит, имя будет добавлено в файл.