Вы можете перенаправить stdout
в NUL на линиях, которые вы не хотите показывать.Вот несколько трюков, с которыми я играл:
SET var=yes
ECHO Before the block
@IF "%var%" == "yes" (
ping 1.1.1.1 -n 1 -w 1 > NUL
ping 1.1.1.1 -n 2 -w 1
)
PAUSE
Скрывает команды в блоке IF и отображает только выходные данные 2-го пинга.
SET var=yes
ECHO Before the block
@(IF "%var%" == "yes" (
ping 1.1.1.1 -n 1 -w 1
ping 1.1.1.1 -n 2 -w 1
)) > NUL
PAUSE
Willскрыть блок IF и не будет отображать выходные данные эхо-запросов.
SET var=yes
ECHO Before the block
(IF "%var%" == "yes" (
ping 1.1.1.1 -n 1 -w 1
ping 1.1.1.1 -n 2 -w 1
)) > NUL
PAUSE
Будет отображать выполняемые команды, но на экране не будет отображаться никакого вывода.
SET var=yes
ECHO Before the block
@IF "%var%" == "yes" (
ping 1.1.1.1 -n 1 -w 1
ping 1.1.1.1 -n 2 -w 1
)
PAUSE
Будетне показывать команды, но будет показывать вывод.
РЕДАКТИРОВАТЬ: Вот еще один
SETLOCAL ENABLEDELAYEDEXPANSION
SET var=yes
ECHO Before the block
IF "%var%" == "yes" (
@ping 1.1.1.1 -n 1 -w 1 > NUL
@ping 1.1.1.1 -n 2 -w 1 > NUL
)
PAUSE
Скрывает команду и вывод обоих пингов.