Синтаксис файлов bat: Пакетные файлы (bat, батники) Windows — mirAdmin
Содержание
erase | Microsoft Learn
Twitter
LinkedIn
Facebook
Адрес электронной почты
-
Статья -
-
Удаляет один или несколько файлов. Если вы используете очистку для удаления файла с диска, вы не сможете получить его.
Примечание
Эта команда аналогична команде del.
erase [/p] [/f] [/s] [/q] [/a[:]<attributes>] <names> del [/p] [/f] [/s] [/q] [/a[:]<attributes>] <names>
Параметры
Параметр | Описание |
---|---|
<names> | Указывает список из одного или нескольких файлов или каталогов. Подстановочные знаки можно использовать для удаления нескольких файлов. Если указан каталог, все файлы в каталоге будут удалены. |
/p | Запрашивает подтверждение перед удалением указанного файла. |
/f | Принудительно удаляет файлы, доступные только для чтения. |
/s | Удаляет указанные файлы из текущего каталога и всех подкаталогов. Отображает имена файлов при их удалении. |
/q | Задает тихий режим. Подтверждение удаления не запрашивается.![]() |
/a[:]<attributes> | Удаляет файлы на основе следующих атрибутов файла:
|
/? | Отображение справки в командной строке. |
Если вы используете
erase /p
команду , вы увидите следующее сообщение:FileName, Delete (Y/N)?
Чтобы подтвердить удаление, нажмите клавишу Y. Чтобы отменить удаление и отобразить имя следующего файла (если вы указали группу файлов), нажмите клавишу N. Чтобы остановить команду erase , нажмите клавиши CTRL+C.
Если отключить расширение команд, параметр /s будет отображать имена файлов, которые не были найдены, а не имена удаляемых файлов.
Если указать определенные папки в параметре
<names>
, все включенные файлы также будут удалены. Например, если вы хотите удалить все файлы в папке \work , введите:erase \work
Вы можете использовать подстановочные знаки (* и ?) для одновременного удаления нескольких файлов. Однако, чтобы избежать случайного удаления файлов, следует осторожно использовать подстановочные знаки. Например, если ввести следующую команду:
erase *.*
Команда erase отображает следующую строку:
Are you sure (Y/N)?
Чтобы удалить все файлы в текущем каталоге, нажмите клавишу Y , а затем клавишу ВВОД. Чтобы отменить удаление, нажмите клавишу N , а затем клавишу ВВОД.
Примечание
Прежде чем использовать подстановочные знаки с помощью команды erase , используйте те же подстановочные знаки с командой dir , чтобы получить список всех файлов, которые будут удалены.
Примеры
Чтобы удалить все файлы в папке с именем Test on drive C, введите один из следующих вариантов:
erase c:\test erase c:\test\*.*
Чтобы удалить все файлы с расширением имени файла .bat из текущего каталога, введите:
erase *.bat
Чтобы удалить все файлы только для чтения в текущем каталоге, введите:
erase /a:r *.*
Условные обозначения синтаксиса команд командной строки
Команда del
Пакетные файлы (bat)
Март 11th, 2013 admin
Пакетные файлы — это программа, состоящая из команд MS-DOS. Имеют специфические команды, предназначенные для организации условий цикла.
Синтаксис: <имя файла> [<параметр>]
Все параметры разделяются пробелом.
Вводные параметры и переменные
Для подстановки входных параметров в пакетном файле используется конструкция %0, %1,…,%9. %0 — имя пакетного файла. %1,…,%9 — входные параметры. Чтобы подставить параметры начиная с 10 следует нажать shift. Клавиша сдвигает номера параметров таким образом 0-й остается на месте, а все остальные параметры уменьшают номер на 1, при этом 1 теряется.
Все переменные, используемые в MS-DOS образуют окружение:
SET – список переменных окружений.
SET <переменная> = <значение>
SET <переменная> = — удаляет переменную из окружения.
Пример echo Ваша фамилия: %familia%.
Размер окружения строго фиксирован, он может составлять 160кб до нескольких килобайт. Каждая программа при запуске получает копию окружения и может ее использовать в своих целях.
Пример
echo ваша фамилия: %familiya%
Размер окружения строго фиксирован, он может составлять от 160байт до несколольких килобайт. Каждая программа при запуске получает копию окружения и может ее использовать в своих нуждах.
Общие команды
rem <коментарий> — текст коментария
@<команда> — вызвать команду не выдавая ее названия на экран.
echo off — отключить выдачу названий для всех команд.
Оператор перехода в пакетных файлах:<метка> — установить метку перехода в пакетном файле.
goto<метка> — перейти в метку
Пример:
@echo off
:m
echo «Привет!»
goto m.
Условный оператор в пакетном файле
if [not] errorlevel <число> <команда> — выполнить указанную команду, если код возврата последней выполненной команды >= чем указанное число.
if [not] «строка 1» == «строка 2» <команда> — выполнить команду если строки совпадают.
if [not] exist <имя файла> <команда> — выполняет команду если файл существует.
Цикл с параметром в пакетном файле
for %<параметр> in (<шаблон>) do <команда> — выполняет команду для всех значений параметра, являющихся именами файлов подходящих под заданный шаблон.
Пример: Распечатать имена txt-файлов
for %i in (*.txt) do echo %i
Вызов пакетного файла
Пакетный файл можно вызвать из другого 2-мя способами:
Прямой вызов (без возврата):
a.bat
…..
…..
b.bat
тело b.bat
…..
…..
конец b.bat
продолжение a.bat не выполняется.
Процедурный вызов (с возвратом):
a.bat
…..
…..
call b.bat
тело b.bat
…..
…..
продолжение a.bat
…..
…..
конец a.bat
.
пакетный файл размещение
bat файл входные параметры
Опубликовано в рубрике Справочник
Комментирование и размещение ссылок запрещено.
Пакетный файл / bat / Windows CMD — Шпаргалка
Совет: когда
PATH
кажется, что не работает (последние обновления не отображаются), перезагрузка не повредит, и это часто устраняет проблему.
Что и ссылка | Тип |
---|---|
SS64: «A-Z» Ссылка CMD | Документы |
SS64: синтаксис Escape | Шпаргалка |
@REM # Мой комментарий
Или, если вы хотите, чтобы комментарии отображались при выполнении, используйте его без @
:
REM # My Comment
SET MYPATH="C:\Users\Joshua" компакт-диск %MYPATH%
ПРЕДУПРЕЖДЕНИЕ.
Будьте осторожны при заключении переменных в кавычки; вы можете случайно вложить кавычки/двойные кавычки.
Если вы пытаетесь использовать путь напрямую для доступа к содержимому (например, с
в (filename.txt)
вам не нужны кавычки вокруг строки)
Глобальные переменные/макросы
Переменная | Пример | Что |
---|---|---|
%путь% | C:\...\progA\bin;C:\...\progB;... | Ваша глобальная переменная пути |
%кд% | C:\Users\Джошуа | Текущий каталог (вызывающего, а не скрипта!) |
%~dp0 | К:\... | Полный путь к постоянному файлу скрипта |
%ProgramFiles% | C:\Program Files | Основной каталог файлов программы |
%ProgramFiles(x86)% | C:\Program Files (x86) | Основной каталог программных файлов x86 |
%дата% | Ср 02. | Текущая дата |
%время% | 12:50:00,86 | Текущее время |
На этой странице представлен полный список стандартных глобальных переменных среды и их значений по умолчанию. Кроме того, здесь можно найти множество подсказок по синтаксису переменных FOR.
Переменные среды
Установка переменных среды
Используйте либо команду set
(временно), либо команду setx
(постоянно).
Cmd:
@REM // Установить пользовательскую (локальную) переменную — сохраняется вне текущих сеансов setx МОЙ ПУТЬ "C:\Users\Джошуа" @REM // системная переменная (глобальная) — требует повышенных привилегий — сохраняется после текущих сеансов setx МОЙ ПУТЬ "C:\Пользователи\Джошуа" /M @REM // временно, вступает в силу в текущем сеансе, не сохраняется установить MYPATH="C:\Users\Джошуа"
🚨 Обратите внимание, что
set
имеет другой синтаксис, чемsetx
.
🚨 👉
SETX
изменения вступят в силу только в новых сеансах консоли, а не в текущем сеансе. См. раздел ниже об обновлении переменных среды.
«set» или «setx»? Установка является временной — переменная устанавливается на время сеанса консоли, тогда как
setx
сохраняет значение даже после закрытия консоли.
Powershell:
$env:MYPATH="C:\Users\Joshua"
Использование переменных среды
Тот же синтаксис, что и при использовании переменных — %ENV_VAR_NAME%
.
Пример: cd %APPDATA%
🚨 👉 Переменные среды по умолчанию не могут использоваться в консоли, которая была создана до того, как были установлены их значения. См. ниже.
Обновление переменных среды
Переменные среды по умолчанию не могут быть считаны в консоли, если они были установлены после запускалась консоль. Например, если вы запустите две консоли, а затем вызовете
setx
в одной для установки значения, ни одна из двух консолей не сможет прочитать значение, которое было только что установлено, и вам придется либо перезапустить каждую из них, чтобы прочитать значение или создать новую консоль (что одно и то же).
Это серьезный недостаток того, как переменные среды работают в Windows, но есть несколько обходных сценариев, много хороших в ответах на этот вопрос StackOverflow.
К сожалению, во многих случаях лучшим решением остается просто взять новую консоль.
В ConEmu / Cmder вы можете избавить себя от необходимости перезапускать весь экземпляр Cmder, используя
Меню -> Активная консоль -> Перезапустить или дублировать -> Перезапустить [...]
. Или вы даже можете создать горячую клавишу для действия (в горячих клавишах она указана как:Воссоздать активную консоль
)
Очистка переменных среды
Если значение было установлено через SET
вместо SETX
, тогда вы можете просто создать новый экземпляр терминала в среде со свежим значением. Если вы хотите очистить значение, установленное с помощью
setx
, и/или не хотите создавать новый терминал, варианты удаления переменной среды зависят от того, что вы хотите:
- Удаление переменной для текущего сеанс:
- Использовать
установить
с пустым назначением (без пробела):установить MYVAR=
- Это будет работать для значений, установленных через
SET
, но будет работать только временно (текущий сеанс) для значений, установленных черезSETX
- Использовать
- Удаление сохраненного значения (
пользователя
илисистемы
)- Пользователь :
REG удалить HKCU\Environment /F /V MYVAR
- Система :
REG удалить "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /F /V MYVAR
- Престижность этому ответу SO
- Пользователь :
Захват вывода в переменную
Довольно сложно в Windows. ..
Похоже, популярный «трюк» заключается в использовании:
Подробнее см.:
- S/O:
- Назначение вывода программы переменной с помощью пакетного файла MS
- Как настроить вывод команд как переменную в пакетном файле
- Microsoft — сообщение в блоге The Old New Thing
Копирование в буфер обмена
Вы можете использовать CLIP
для копирования чего-либо в буфер обмена. Например,
эхо "Привет" | CLIP
Дополнительные сведения см. на этой странице руководства c3scripts.com.
Проблемы Unicode с CLIP
Терминал Windows имеет печально известные проблемы с кодовыми точками выше стандартного диапазона ascii (например, эмодзи).
Исправление для CLIP такое же, как и при использовании Unicode с командной строкой в целом; изменить кодовую страницу с помощью чкп 65001
.
Я нашел PR, который является отличным иллюстративным решением — PR Node-copy-and-paste #45.
Чтение из буфера обмена
К сожалению, нет встроенной команды для чтения из буфера обмена в Windows, по крайней мере, в командной строке. Однако в PowerShell есть встроенный инструмент; Получить буфер обмена
.
Если вам действительно нужна эта функциональность в CMD, вы всегда можете выполнить команду Powershell из командной строки :
powershell -command "Get-Clipboard" REM # Может передавать или перенаправлять, как вам угодно REM # Пример: вывести буфер обмена на стандартный вывод powershell -команда «Получить буфер обмена» | cat
Соединение строк vars
То же, что и bash, вы можете просто соединить их вместе:
SET strA=Hello НАБОР strB=Мир НАБОР окончательный=%strA% %strB% эхо %final%
Привет, мир
И вы также можете поместить переменные в строки:
SET strA=Hello эхо "%strA% Мир"
Привет, мир
Удаление кавычек из строковых переменных
Чтобы удалить кавычки из переменной, используйте set VAR_NAME=%VAR_NAME:"=%
(ref)
Или, без переназначения: echo %VAR_NAME:"=%
900 06
Вы также можете избежать использования переменных в кавычках, заключив всю команду set в кавычки при ее объявлении:
SET "UNQUOTED_STR=C:\Program Files"
Удаление разрывов строк из строк
Удаление разрывов строк с помощью синтаксиса манипулирования строками
Подобно вышеописанному подходу к удалению кавычек, вы можете использовать синтаксис обработки строк, чтобы ничем не заменить разрывы строк, тем самым удалив их.
эхо %VAR_NAME:~0,-1%
Кредит на этот серийный номер
Однако это не удаляет разрыв строки в конце, который происходит с
echo Hello World > out.txt
. См. ниже
Удаление разрывов завершающей строки и пустых строк — набор
Удаление завершающей пустой строки, как и многое другое в CMD, не так просто, как хотелось бы многим из нас.
Если вы ищете полностью собственный вариант и еще не сохранили или не захватили вывод, согласованный метод, по-видимому, заключается в использовании set /p
(кредит S/O):
echo | set /p dummyName=Hello World>out.txt @REM # Это работает даже с переменными эхо | set /p dummyName=%MY_VAR%>out.txt
Целенаправленное включение разрывов строк в строки
Включение разрывов строк в строки и переменные немного сложнее с cmd / bat. Существует несколько подходов, подробно перечисленных ниже. Для хорошего резюме это отличный ответ S/O.
Включение разрывов строк — использование эха:
Если вам не нужно сохранять строку или передавать ее, вы можете просто добавить больше пустых эхо-команд ( echo;
) для создания разрывов строк. Например:
эхо Line One эхо; эхо Вторая линия
Обратите внимание на эхо
;
используется вместо эха.
— это потому, что последний будет пытаться искать файлы с таким же именем, поэтому намного медленнее.
Включая разрывы строк — макрос-подход: 9& эхо;
@REM # Обратите внимание, что в строке ниже не используются начальные и конечные кавычки,
@REM #, а не заключать в кавычки весь блок присваивания
SET «MULTI_LINE_STR=Линия 1%NL%Линия 2»
эхо %MULTI_LINE_STR%
Проблема с описанным выше подходом заключается в том, что, поскольку это макрос, который вызывает
echo
, а не фактические символы, вы не можете использовать его таким образом, чтобы захватить вывод.Например,
echo %MULTI_LINE_STR% > out.txt
сохранит только вторую строку, потому что макрос расширяется до того места, где фактически исполняемый код больше похож на: 9%=Не удалять эту строку=%
)
@REM # Обратите внимание на использование кавычек для экранирования плюс расширение !
SET «MULTI_LINE_STR=Первая линия!NL!Вторая линия!»
@REM # Используйте !{VAR}! расширять
эхо:!MULTI_LINE_STR!
@REM # Работает даже перенаправление в файл!
@REM # Пока мы расширяемся с помощью !{VAR}!
эхо:!MULTI_LINE_STR! > out.txtПриведенный выше код основан на этом и этом.
Включая разрывы строк — сложная управляющая последовательность
Уч.
- Получить путь
ПУТЬ
- Более читабельная версия
эхо %path:;=&эхо.%
- Кредит
- Получение пользовательских переменных
- можно получить, просто используя синтаксис %varName%
эхо %JAVA_HOME%
- Оператор перенаправления
ipconfig /all > output.
txt
- Двойное перенаправление для режима добавления
ipconfig /all >> existsOutput.txt
Копировать файлы
Есть куча встроенных инструментов. В порядке онлайн-рекомендаций:
- Robocopy
- сс64
- Основной синтаксис:
ROBOCOPY {src} {dest} {?fileOrGlobPatterns} {?options}
- Пример:
ROBOCOPY %cd% "C:\Users\Joshua\Dropbox\web-project" *.json *.html *.js *.md
- Этот S/O охватывает значения по умолчанию, для которых Robocopy будет пропускать копирование; вы можете использовать
/IT
для включения модифицированных файлов и/IS
для включения тех же файлов- Используйте
/ l
для пробного прогона / предварительного просмотра того, что произойдет- XКопия
- Копия
Список всех файлов по размеру (рекурсивный подкаталог тоже)
(@For /F "Delims=" %A in ('dir /B/S/A-D') Do @Echo %~fA %~zA) > filelist.txt
- Кредит
Дерево списка файлов
- Для файлов и папок
дерево /F
- Конвейер в файл — используйте
/A
для вывода ascii, иначе файл будет искажен
дерево /F /A > файловая структура.txt
Удалить файлы определенного типа в текущей папке и во всех вложенных папках
Пакет:
DEL /S *.docxНАПОМИНАНИЕ — хотя на концах нет подстановочного знака, он по какой-то причине действует как таковой. Таким образом, DEL/S *.qml удалит все файлы .qml, а также все файлы .qmlc — см. https://stackoverflow.com/a/3239.9927
Powershell:
Remove-Item * -Include *.qml -Recurse | Удалить элементПРИМЕЧАНИЕ. Powershell не страдает от вышеуказанной проблемы — .qml будет соответствовать .qml, а не .qmlc
Проверка контрольных сумм
Можно использовать встроенную утилиту
CertUtil
.Например:
CertUtil -hashfile my_program.exe SHA256Если вы ищете подход с графическим интерфейсом, проверьте hashcheck. Или этот список бесплатных хеш-программ для Windows.
Поскольку CertUtil может только хэшировать файлы (не переданные по конвейеру или сохраненные строки), для проверки онлайн-файла (через cURL), содержимого буфера обмена или любых других строк вам потребуется временно сохранить файл в файл, а затем передать файл в CertUtil .
завиток https://.../myfile.txt > темп CertUtil - временный файл хэша SHA256 ДЕЛ темп🚨 ПРЕДУПРЕЖДЕНИЕ. Будьте очень осторожны с тем, как легко можно случайно добавить или включить новые строки и/или дополнительный интервал в контенте, из которого вы пытаетесь сгенерировать хэш. Если вы случайно добавите в оболочку тот, которого нет в содержимом, хэши не будут совпадать.
Если вы хотите быстро хэшировать/кодировать строки с помощью графического интерфейса, я настоятельно рекомендую онлайн-инструмент CyberChef.
Вот пример рецепта для SHA256+Base64.
Преобразование путей в косую черту
Если у вас есть git-bash или что-то подобное, включающее программу
sed
, это быстрое решение:echo '\\dir\\file.txt' | sed -E 's/\\\\/\//g' # /dir/file.txtIF / Else
- Учебник
Основы:
Если (условие) (сделать_что-то) ELSE (сделать_что-то еще)Убедитесь, что логические переключатели находятся на одной линии — https://ss64.com/nt/else.html
Этот Не подойдет :
ЕСЛИ СУЩЕСТВУЕТ %MyFile% ( эхо "найдено" ) ЕЩЕ ( эхо "не найдено" )Это должно работать:
ЕСЛИ СУЩЕСТВУЕТ %MyFile% ( эхо "найдено" ) ЕЩЕ ( эхо "не найдено" )ELSE IF
Else If может вызвать проблемы с пакетными сценариями .bat. Может работать в CMD, но для BAT, кажется, большинство людей рекомендуют вложенные IF в качестве альтернативы или GOTO.
Хотя у меня работало нормально, с Win 8
- Просто!
эхо %cd%
- Отлично подходит для открытия текущей папки с различными программами
"C:\Program Files\Microsoft VS Code\Code.exe" %cd%
Explorer.exe %cd%
Добавьте это в самый конец файла:
Обычно использование команды
call
является наиболее надежным способом запуска процесса или сценария и ожидания его завершения:CALL my-progДругим вариантом, который иногда работает, является использование команды
start
, особенно сwait
START /wait my-prog💡 StackOverflow:
ЗВОНОК
противСТАРТ/ОЖИДАНИЕ
Более сложный пример
START
Существует несколько способов обработки ошибок в пакетных сценариях.
@REM # С перенаправлением @Эхо выключено SomeCommand && ( Эхо успеха ) || ( Эхо не удалось/ошибка ) @REM # С явной проверкой кода ошибки: если !уровень ошибки! neq 0 выход /b !уровень ошибки!Если вы хотите что-то запустить, включая пакетные сценарии, и записать в файл как stdout, так и stderror, вы можете использовать
mycommand > output.
, что является очень распространенным приемом перенаправленияtxt 2>&1
Автоматический прием ввода при вызове
В файле
.bat
можно автоматически получать и использовать ввод, предоставленный при вызове файла, с помощью%1
,%2
и т. д.Запрос ввода
Вы можете приостановить свой скрипт и запросить ввод, используя это:
set /P {variableName}="Prompt String" Доступ к REM с использованием %{variableName}%Пример:
set /P name="Как тебя зовут?" эхо Добрый день, %name%! PAUSEПередача входных аргументов в другую программу
Если вам нужно передать завершающие входные аргументы в другую программу, вы можете использовать
%*
.Например, если бы я хотел создать файл-заглушку в папке
\bin
, который просто вызывает другой, я мог бы сделать что-то вроде этого:%~dp0..\src\my-bin.exe %*Кстати, именно так NodeJS обрабатывает
cmd
файлов в папке\.
— они используют этот синтаксис для вызоваbin
node your-file.js your-args
.Дополнительные сведения см. в разделе SS64 — . Передача аргументов командной строки в пакетный файл Windows
Вы можете использовать
TAKEOWN
, чтобы стать владельцем файлов.
- SS64
- Документы Win
Пример:
REM # Содержимое папки: foo.txt и подпапка ./pics. REM # Нам нужно стать владельцем ./pics takeown /r /f picsВ Win вы можете использовать
MKLink
(ss64) для создания символической ссылки на каталог или файл.
- Ссылка на файл:
MKlink {symbolicFileName} {realTargetFile}
- Ссылка на каталог/папку
MKlink/D {symbolicDirName} {realTargetDir}
Для создания символической ссылки требуется консоль с повышенными правами (с правами администратора).
(Если не используется режим разработки на Win 10+)
В общем, лучше/проще всего всегда использовать абсолютные пути для целей. Вы можете заключить пути в кавычки, если у вас возникли проблемы.
Если вы хотите проверить, на что ссылается символическая ссылка (или просто посмотреть, есть ли они в текущем каталоге), вы можете использовать:
dir /a
или только ссылки,dir /al
Пакетное создание ярлыков Windows
Файлы ярлыков Windows (
.lnk
) представляют собой особый проприетарный тип файлов , полностью отделенный от символических ссылок. Их проприетарный характер и тот факт, что многие программы открывают цель вместо самого файла.lnk
, затрудняют их редактирование и создание.По существу нет встроенного способа легко создавать ярлыки файлов из командной строки в Windows, особенно в Win10. Вы можете обойти это с помощью сторонних служебных программ, сценариев VB или PowerShell.
Я бы рекомендовал использовать инструмент NirCmd от NirSoft и его команду быстрого доступа.
Активные подключения, порты и т. д.
Команда перехода для просмотра списка активных подключений и прослушиваемых портов —
netstat
.Чтобы найти информацию об определенном порте, вы можете использовать что-то вроде
netstat -bnao | grep "8080"
(илинайти
, если отсутствует git-bash). Затем вы можете сделать еще один шаг и взять PID из этого вывода и использоватьсписок задач /fi "pid eq PID_from_netstat"
для получения информации о процессе. Или используйтеtaskkill /F /PID PID_from_netstat
, чтобы убить процесс.Поиск путей к исполняемым файлам
Используйте
, где
, чтобы найти файлы, а также глобальные пути к исполняемым/двоичным файлам.Например,
, где npm
, чтобы узнать, какие исполняемые файлы NPM глобально зарегистрированы в пути.Это примерно эквивалентно команде Unix / bash
which
.Список задач
- Поиск процесса по имени исполняемого файла
список задач /FI "IMAGENAME eq Greenshot.exe"
- Убить процесс по имени исполняемого файла
тасккилл/IM {EXE_NAME}
- В основном то же самое, что и выше:
список задач /FI "IMAGENAME eq {EXE_NAME}"
- Опционально:
/F
для «силы»Запуск приложений
Команда Что? открыть "" "https://joshuatz.com"
Открытие URL-адреса в веб-браузере по умолчанию
Команда Что? информация о системе
Отображает набор системной информации, включая версию ОС, модель ПК, время безотказной работы и многое другое. Структура пакетного файла Синтаксис: echo off cmd
Структура командного файла Синтаксис: echo off cmd
Если вы создали пакетный файл, вы можете написать команду в каждой строке, см.: как создать пакетный файл — основы. Команды выполняются последовательно при запуске файла. Поведение выхода можно настроить следующим образом:
echo @ или @echo off
@ соотв. @echo off управление отображением пакетного файла
Без команды @ перед каждой командой командная строка, а затем результат всегда отображаются при выполнении пакетного файла:для иллюстрации небольшого примера использования команды «echo»:
Команда echo выводит текст:
Содержимое пакетного файла:
echo a TextOutput:
echo a Text Текст@ перед командой подавляет вывод командной строки:
Содержимое пакетного файла:
@echo helloВывод:
helloВ выводе вызов команды подавляется: «echo текст».
Чтобы не писать «@» перед каждой командой, есть команда «echo off».
Чтобы подавить вывод самой команды «echo off», вы можете использовать «@echo off».
Содержимое командного файла:@echo off echo helloВывод:
helloсм. также: Практические примеры с пакетом
Для вставки комментариев в пакетный файл используется команда «rem».
Содержимое командного файла:rem echo это комментарийигнорирует всю строку: ничего не выводится
пауза
команда паузы, останавливает пакетный файл и ждет, пока не будет нажата какая-либо клавиша.
@эхо выключено эхо привет паузаВывод:
привет Нажмите любую клавишу . . .({{pro_count}})
Оценить сообщение:
{{percentage}} % положительный({{con_count}})
СПАСИБО за отзыв!
➨ Практические примеры с партиями |
➦ Пакетная обработка Windows
| Пакетный файл циклов последовательности и меток перехода: loop goto ➨сообщить об этом объявлении
Лучшие статьи в этом разделе
сон или ожидание в пакетных файлах: pause cmd
Функция ожидания или сна была недоступна в BATch-файлах по умолчанию.