Запишите имя компьютера в текстовый файл, если имя еще не в текстовом файле - PullRequest
2 голосов
/ 24 октября 2011

У меня есть небольшой командный файл, который записывает имя компьютера в файл log.txt. Мне нужен командный файл для сканирования списка computernames в настоящее время в файле. Если имя существует, просто выйдите, а если имя не существует, мне нужно, чтобы оно было записано.

Я написал часть для записи имени компьютера в файл

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

Теперь мне нужно прочитать журнал и записать имя компьютера, только если оно не существует в файле.

1 Ответ

3 голосов
/ 24 октября 2011

Попробуйте:

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

Команда FINDSTR ищет %computername% в C:\log.txt, проверяя, не является ли она подстрокой другого имени (^ и $символы вокруг термина поиска, см. FINDSTR /? для получения дополнительной информации).Если FINDSTR ничего не находит, он вызывает ERRORLEVEL.

Разделитель команд || означает, что значение ERRORLEVEL должно быть проверено перед вызовом следующей команды (ECHO).Если значение ERRORLEVEL повышено, команда выполняется, в противном случае она не выполняется.

Таким образом, если FINDSTR ничего не находит, имя будет добавлено в файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...