
Я хочу скрыть команды в приглашении, которое открылось из пакетного файла. Пример:
Вот как это обычно происходит:
Вот как я хочу, чтобы это было:
Было бы хорошо, если бы был способ вывести все (за исключением команд) в текстовый файл. Я использовал оператор перенаправления (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