2

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

Вот как это обычно бывает:

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

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

Нормальная подсказка, отредактированная с помощью 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

2 ответа2

4

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

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

echo off

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

Time_Dif.bat

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

Time_Dif.bat > Time_Dif_Log.txt

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

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

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

Можно @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. а также для создания пустой строки, просто для организации вывода. Подскажите после изменений:

Подскажите из командного файла

1

Используйте команду Echo (@echo off).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .