Скрыть отображение ошибки
Цитата: --- НЛО --- от 17.09.2022, 19:11Всем привет, есть код
for /f "delims=" %%i IN ('2^>nul REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Classes" /f ".*"') DO ( 2>nul REG QUERY "%%i" /s /f "edge" if !errorlevel! == 0 ( for /F "usebackq delims=" %%y In (`2^>nul REG QUERY "%%i" /f "MSEdge*" /k`) Do ( for /F "usebackq tokens=1" %%a IN (`2^>nul REG QUERY "%%i" /s ^| findstr /ic:"edge"`) DO (2>nul reg delete "%%i\OpenWithProgIds" /v "%%a" /f >nul 2>&1) )))Он не находя строчку, выводит ошибку: End of search: 0 match(es) found.
Я как ни пытался скрыть ошибку, у меня не получалось
Помогите пожалуйта
Всем привет, есть код
for /f "delims=" %%i IN ('2^>nul REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Classes" /f ".*"') DO (
2>nul REG QUERY "%%i" /s /f "edge"
if !errorlevel! == 0 (
for /F "usebackq delims=" %%y In (`2^>nul REG QUERY "%%i" /f "MSEdge*" /k`) Do (
for /F "usebackq tokens=1" %%a IN (`2^>nul REG QUERY "%%i" /s ^| findstr /ic:"edge"`) DO (2>nul reg delete "%%i\OpenWithProgIds" /v "%%a" /f >nul 2>&1)
)))
Он не находя строчку, выводит ошибку: End of search: 0 match(es) found.
Я как ни пытался скрыть ошибку, у меня не получалось
Помогите пожалуйта
Цитата: Mikhail от 18.09.2022, 03:02Добрый🖐.
Где тут ошибка?, перебирает ветки реестра, и сообщает "Поиск завершен: найдено совпадений: 0", идет искать дальше и так до конца, сообщая.
Команда работает ровно так, как и написана.
Добрый🖐.
Где тут ошибка?, перебирает ветки реестра, и сообщает "Поиск завершен: найдено совпадений: 0", идет искать дальше и так до конца, сообщая.
Команда работает ровно так, как и написана.
Цитата: --- НЛО --- от 18.09.2022, 09:59Цитата: Mikhail от 18.09.2022, 03:02Добрый
.
Где тут ошибка?, перебирает ветки реестра, и сообщает "Поиск завершен: найдено совпадений: 0", идет искать дальше и так до конца, сообщая.
Команда работает ровно так, как и написана.Здравствуйте, вы не так поняли, мне нужно чтоб эти команды вообще в конце ничего не говорили
Цитата: Mikhail от 18.09.2022, 03:02Добрый
.
Где тут ошибка?, перебирает ветки реестра, и сообщает "Поиск завершен: найдено совпадений: 0", идет искать дальше и так до конца, сообщая.
Команда работает ровно так, как и написана.
Здравствуйте, вы не так поняли, мне нужно чтоб эти команды вообще в конце ничего не говорили
Цитата: Mikhail от 18.09.2022, 10:07Ну он же перебирает реестр, если нет, сообщает, а что он должен выводить, просто пустое cmd?, так не получиться(только минимизировать можно с помощью @echo off), тогда проще завернуть в exe его и скрыть консоль вообще.
Ну он же перебирает реестр, если нет, сообщает, а что он должен выводить, просто пустое cmd?, так не получиться(только минимизировать можно с помощью @echo off), тогда проще завернуть в exe его и скрыть консоль вообще.
Цитата: --- НЛО --- от 18.09.2022, 10:14Цитата: Mikhail от 18.09.2022, 10:07Ну он же перебирает реестр, если нет, сообщает, а что он должен выводить, просто пустое cmd?, так не получиться(только минимизировать можно с помощью @echo off), тогда проще завернуть в exe его и скрыть консоль вообще.
Есть же скрытие с помощью перенаправления вывода >nul 2>&1 Но, он почему-то не работает.
Вот есть другой код, тут всё работает, и ничего не видно
for /f "delims=" %%i IN ('2^>nul REG QUERY "HKEY_USERS\%sidinf%\SOFTWARE\Classes" /f "*"') DO ( REG QUERY "%%i\Application" /f "edge" >nul 2>&1 if !errorlevel! == 0 reg delete "%%i" /f >nul 2>&1 )
Цитата: Mikhail от 18.09.2022, 10:07Ну он же перебирает реестр, если нет, сообщает, а что он должен выводить, просто пустое cmd?, так не получиться(только минимизировать можно с помощью @echo off), тогда проще завернуть в exe его и скрыть консоль вообще.
Есть же скрытие с помощью перенаправления вывода >nul 2>&1 Но, он почему-то не работает.
Вот есть другой код, тут всё работает, и ничего не видно
for /f "delims=" %%i IN ('2^>nul REG QUERY "HKEY_USERS\%sidinf%\SOFTWARE\Classes" /f "*"') DO (
REG QUERY "%%i\Application" /f "edge" >nul 2>&1
if !errorlevel! == 0 reg delete "%%i" /f >nul 2>&1
)
Цитата: --- НЛО --- от 18.09.2022, 10:30Нашёл решение сам
for /f "delims=" %%i IN ('2^>nul REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Classes" /f ".*"') DO ( REG QUERY "%%i" /s /f "edge" >nul 2>&1 if !errorlevel! == 0 ( for /F "usebackq delims=" %%y In (`2^>nul REG QUERY "%%i" /f "MSEdge*" /k`) Do ( for /F "usebackq tokens=1" %%a IN (`2^>nul REG QUERY "%%i" /s ^| findstr /ic:"edge"`) DO (reg delete "%%i\OpenWithProgIds" /v "%%a" /f >nul 2>&1 && echo ok) )))2>nul REG QUERY "%%i" /s /f "edge" нужно было заменить на REG QUERY "%%i" /s /f "edge" >nul 2>&1
И всё
Считаю тему закрытой
Нашёл решение сам
for /f "delims=" %%i IN ('2^>nul REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Classes" /f ".*"') DO (
REG QUERY "%%i" /s /f "edge" >nul 2>&1
if !errorlevel! == 0 (
for /F "usebackq delims=" %%y In (`2^>nul REG QUERY "%%i" /f "MSEdge*" /k`) Do (
for /F "usebackq tokens=1" %%a IN (`2^>nul REG QUERY "%%i" /s ^| findstr /ic:"edge"`) DO (reg delete "%%i\OpenWithProgIds" /v "%%a" /f >nul 2>&1 && echo ok)
)))
2>nul REG QUERY "%%i" /s /f "edge" нужно было заменить на REG QUERY "%%i" /s /f "edge" >nul 2>&1
И всё
Считаю тему закрытой
Цитата: Mikhail от 18.09.2022, 10:32Или просто дописать
>nul 2>&1в конце)))тройных скобок, а не внутри скобок(внутри убрать).
P.S я вот не знал, в справе за 5 мин разобрался.
Или просто дописать Скопировано>nul 2>&1 в конце Скопировано))) тройных скобок, а не внутри скобок(внутри убрать).
P.S я вот не знал, в справе за 5 мин разобрался.