PRINT отправляет содержимое текстового файла в очередь печати принтера прямо из командной строки Windows — без открытия редактора и без GUI. Команда используется в скриптах автоматизации, когда нужно распечатать лог, отчёт или конфигурационный файл сразу после его создания.
- Синтаксис команды PRINT
- Ключи и параметры
- Примеры использования
- Напечатать файл на принтере по умолчанию
- Выбрать конкретный принтер через /D
- Печать на сетевой принтер
- Печать нескольких файлов подряд
- Печать из скрипта после генерации файла
- Проверка доступных устройств перед печатью
- Частые ошибки и решения
- Когда применять, а когда нет
- FAQ
- Может ли PRINT напечатать файл на принтере по умолчанию без ключа /D?
- Как узнать точное имя принтера для ключа /D?
- Можно ли напечатать файл на принтере через сеть?
- Почему PRINT не работает с PDF или Word-документами?
- Как напечатать файл и дождаться завершения в скрипте?
- Поддерживает ли PRINT кириллицу?
Синтаксис команды PRINT
PRINT [/D:устройство] [[диск:][путь]имя_файла [...]]
Плейсхолдеры:
устройство— имя принтера или порта вывода (например,LPT1,\\server\printer)диск:— необязательная буква дискапуть— путь к файлу; если не указан, используется текущий каталогимя_файла— имя файла; допускаются маски (*.txt)
Ключи и параметры
| Ключ | Описание | Пример |
|---|---|---|
/D:устройство | Указать принтер или порт вывода. Если не задан, используется принтер по умолчанию | PRINT /D:LPT1 report.txt |
/D:PRN | Отправить на стандартный порт PRN (псевдоним LPT1) | PRINT /D:PRN log.txt |
/D:\\сервер\принтер | Отправить на сетевой принтер по UNC-пути | PRINT /D:\\srv\HP400 doc.txt |
/? | Вывести справку по команде | PRINT /? |
Команда поддерживает передачу нескольких файлов через пробел — они встают в очередь последовательно.
Примеры использования
Напечатать файл на принтере по умолчанию
Самый простой случай: принтер уже настроен как устройство по умолчанию.
PRINT C:\Reports\monthly.txt
Файл уйдёт в очередь печати системного принтера по умолчанию. Командная строка сразу вернёт управление — печать идёт в фоне.
Выбрать конкретный принтер через /D
Если на компьютере несколько принтеров и нужен не тот, что по умолчанию:
PRINT /D:"Canon MF3010" C:\Logs\error.log
Имя принтера берётся из «Устройства и принтеры» — оно должно точно совпадать, включая регистр и пробелы.
Печать на сетевой принтер
В корпоративной сети принтеры часто подключены через сервер печати:
PRINT /D:\\printserver\LaserJet C:\Docs\invoice.txt
Файл отправится в очередь сетевого принтера; команда не ждёт завершения печати.
Печать нескольких файлов подряд
Несколько файлов встают в очередь последовательно одной командой:
PRINT /D:LPT1 report1.txt report2.txt summary.txt
Файлы будут напечатаны в указанном порядке.
Печать из скрипта после генерации файла
Типичный сценарий: скрипт создаёт лог и сразу отправляет его на принтер.
@echo off systeminfo > C:\Temp\sysinfo.txt PRINT C:\Temp\sysinfo.txt ECHO Отчёт отправлен на печать.
Проверка доступных устройств перед печатью
Список подключённых принтеров можно получить через WMIC:
WMIC printer get name PRINT /D:"имя_из_списка" C:\file.txt
Частые ошибки и решения
| Ошибка / симптом | Причина | Решение |
|---|---|---|
| «Принтер не найден» или нет вывода | Неверное имя устройства в /D: или принтер не установлен | Проверить имя через WMIC printer get name; использовать точное совпадение |
| Файл не печатается, хотя команда выполнена | Принтер не является устройством по умолчанию, ключ /D не указан | Явно задать устройство через /D:имя_принтера |
| На бумаге вместо текста — иероглифы или мусор | Кодировка файла (UTF-8, UTF-16) не совпадает с кодировкой, которую ожидает принтер | Сохранить файл в кодировке ANSI (Windows-1251) или OEM 866 перед печатью |
| PRINT не печатает .docx, .pdf, .xlsx | Команда работает только с текстовыми файлами (plain text) | Конвертировать файл в .txt или использовать соответствующее приложение (START /MIN word.exe /p file.docx) |
| Ошибка «Нет доступа к устройству» | Нет прав на порт принтера или сетевое устройство | Запустить CMD от имени администратора; проверить подключение к сетевому принтеру |
| Команда PRINT не найдена | В редких случаях PATH не содержит %SystemRoot%\System32 | Использовать полный путь C:\Windows\System32\print.exe |
Когда применять, а когда нет
PRINT эффективна в bat-скриптах для автоматической печати текстовых логов, отчётов и конфигурационных файлов. Команда работает со всеми версиями Windows. Ограничение — только plain text: .doc, .pdf, .xlsx и другие форматированные файлы команда не поддерживает. Для печати таких файлов из скрипта используйте START /MIN /WAIT приложение /p файл или PowerShell-командлет Start-Process с параметром -Verb Print. Для массовой автоматизированной печати в корпоративной среде предпочтительнее PowerShell или специализированные средства управления очередью печати.
FAQ
Может ли PRINT напечатать файл на принтере по умолчанию без ключа /D?
Да. Если ключ /D не указан, команда отправляет файл на принтер, заданный по умолчанию в системе.
Как узнать точное имя принтера для ключа /D?
Выполните в CMD команду WMIC printer get name — она выведет список всех установленных принтеров с их системными именами.
Можно ли напечатать файл на принтере через сеть?
Да: PRINT /D:\\сервер\принтер файл.txt. Принтер должен быть опубликован на сервере печати и доступен текущему пользователю.
Почему PRINT не работает с PDF или Word-документами?
Команда PRINT предназначена исключительно для текстовых файлов. Для печати PDF или Office-документов используйте Start-Process -FilePath "файл.pdf" -Verb Print в PowerShell.
Как напечатать файл и дождаться завершения в скрипте?
PRINT работает асинхронно и сразу возвращает управление. Для синхронной печати в скрипте используйте START /WAIT с ассоциированным приложением.
Поддерживает ли PRINT кириллицу?
Зависит от кодировки файла и настроек принтера. Текстовые файлы в ANSI/Windows-1251 печатаются корректно на большинстве принтеров. UTF-8 без BOM может отображаться некорректно — конвертируйте файл перед печатью.


