Как скрыть команды в командной строке Windows 10 из пакетного файла?

Как скрыть команды в командной строке Windows 10 из пакетного файла?

Я хочу скрыть команды в приглашении, которое открылось из пакетного файла. Пример:

Вот как это обычно происходит:

Нормальная подсказка

Вот как я хочу, чтобы это было:

Обычная подсказка, отредактированная с помощью Paint

Было бы хорошо, если бы был способ вывести все (за исключением команд) в текстовый файл. Я использовал оператор перенаправления (Time_Dif.bat > Time_Dif_Log.txt) но он написал команды так же, как в приглашении (как и ожидалось).

Я поискал и нашел много вопросов о том, как скрыть всю подсказку из пакета или как предотвратить автоматическое закрытие подсказки в конце пакетного файла, но я хочу скрыть только команды.

Пакетный файл:

set startTimeTwo=%time%
javac myPi_Two.java
java myPi_Two
set finishTimeTwo=%time%

set startTimeFour=%time%
javac myPi_Four.java
java myPi_Four
set finishTimeFour=%time%

set startTimeTen=%time%
javac myPi_Ten.java
java myPi_Ten
set finishTimeTen=%time%

echo myPi_Two: %startTimeTwo% %finishTimeTwo%
echo myPi_Four: %startTimeFour% %finishTimeFour%
echo myPi_Ten: %startTimeTen% %finishTimeTen%

pause

решение1

При поиске других проблем с использованием оператора перенаправления я обнаружил, что простое отключение «эха» решает проблему.

Просто откройте командную строку и напишите:

echo off

После этого запустите пакетный файл из той же командной строки, находясь в нужной папке:

Time_Dif.bat

Или вывести результат в текстовый файл:

Time_Dif.bat > Time_Dif_Log.txt

После этого он не будет показывать команды в приглашении или во внешнем текстовом файле. Пример:

Нормальная подсказка

ОТРЕДАКТИРОВАНО (Из ответа @Kyle A, комментария @JUICED_IT иТехНет):

Можно вставить @echo offв начало пакетного файла, чтобы можно было открыть его напрямую из проводника без отображения команд в приглашении. Мой окончательный файл:

@echo off

set startTimeTwo=%time%
javac myPi_Two.java
java myPi_Two
set finishTimeTwo=%time%

set startTimeFour=%time%
javac myPi_Four.java
java myPi_Four
set finishTimeFour=%time%

set startTimeTen=%time%
javac myPi_Ten.java
java myPi_Ten
set finishTimeTen=%time%

echo.
echo myPi_Two: %startTimeTwo% %finishTimeTwo%
echo myPi_Four: %startTimeFour% %finishTimeFour%
echo myPi_Ten: %startTimeTen% %finishTimeTen%

pause

Я добавил echo.также, чтобы создать пустую строку, просто для организации вывода. Запрос после изменений:

Запрос из пакетного файла

решение2

ИспользоватьЭхокоманда (@echo off).

решение3

Добавьте clsпосле echo offвашегокодчтобы предотвратить отображение в командной строке чего-то вроде:C:\Users\user>echo off

Связанный контент