Требуется пакетный файл для запроса ключа реестра и записи имени компьютера в файл журнала - PullRequest
0 голосов
/ 07 ноября 2011

Мне нужно запросить в реестре HKCU \ Software \ test. Если этот файл существует, мне нужно записать имя компьютера в файл журнала.C: \ log.txt.Я могу запросить реестр, но я не смог понять, как использовать оператор if для добавления имени компьютера в файл журнала.Любая помощь будет оценена.

reg query "hkcu\software\test"
echo %COMPUTERNAME% >> c:\Log.txt

Ответы [ 3 ]

1 голос
/ 17 ноября 2011

Попробуйте:

@ECHO OFF
REG QUERY "HKCU\Software\test" >nul 2>&1
IF %ERRORLEVEL%==0 ECHO %COMPUTERNAME%>>C:\Log.txt

>nul 2>&1 скроет вывод команды REG.Если вы хотите увидеть вывод, просто удалите эту часть.

1 голос
/ 07 ноября 2011
echo %COMPUTERNAME% >> c:\Log.txt

вот и все :) 1002 *

0 голосов
/ 17 ноября 2011

Вы можете использовать тот же подход, что и в этот ответ на ваш предыдущий вопрос , в этом случае используйте только &&:

REG QUERY "whatever\you\want\to\query" >NUL && ECHO %COMPUTERNAME%>>C:\Log.txt

Аналогично FINDSTR, REG также устанавливает ERRORLEVEL в ненулевое значение, если поиск был неудачным, что позволяет нам использовать конструкции с || и && в зависимости от ситуации.Команда после && выполняется только в случае успешного поиска.

Приведенная выше команда подавляет стандартный вывод REG с >NUL.Если поиск не удастся, соответствующее сообщение об ошибке все равно будет отображаться, поскольку оно отправляется на стандартное устройство ошибок, а не на стандартный вывод.Вы можете дополнительно подавить возможные сообщения об ошибках, добавив 2>NUL или как в @ aphoria .

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