2014-11-03 3 views
0

Я искал и искал это, и я не могу найти ответ. Может быть, это невозможно. Я хочу сделать «echo off» для всего моего пакетного задания, НО я хочу, чтобы некоторые строки эха.Выполнение пакетной работы Windows, как эхо команды, когда эхо выключено

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

Но есть способ сделать:

echo off 
call setver 
if not exist todir md todir 
copy myfile.exe todir 

Я ничего не хочу, чтобы эхо КРОМЕ заявления "копировать" ...

+0

Что вызывает вопрос? (Зачем вам нужно?) –

ответ

1
@echo off 
call setver 
if not exist todir md todir 
ECHO ON 
copy myfile.exe todir 
@ECHO OFF 

должны делать то, что вы хотите, IIUC.

и неизбежного наблюдения, «как вы эхо слово„на“`

echo(on 

где ( может быть любой из обычного экипажа, как . и т.д.

+0

ОК спасибо за это. Я уже делаю это, но я надеялся на путь, который был по существу обратным для @, который говорит «эхо эту строку», поэтому мне не нужно иметь пар «эхо в/эхо от» на всем протяжении работы, но я думаю, что, вероятно, нет другого пути ... – munge

+0

На чистом диске ... – Magoo

0

Вы могли бы также эхо самой команды перед выполнением.

@echo off 
call setver 
if not exist todir md todir 
echo copy myfile.exe todir 
copy myfile.exe todir 

Как можно видеть, команда, чтобы показать видимый только дублируется в файле и echo ставится раньше. Это работает также с переменными окружения, указанными в строке команды.

Уход следует выполнять только по команде, которая содержит перенаправление, поскольку скобки (-ы) перенаправляющего угла должны быть экранированы с помощью ^, чтобы выводить угловую скобку вместо перенаправления сообщения. Пример:

@echo off 
echo set ^>"%TEMP%\AllVariables.txt" 
set >"%TEMP%\AllVariables.txt" 
del "%TEMP%\AllVariables.txt" 
Смежные вопросы