PRINT — отправить текстовый файл на печать из CMD

PRINT — команда CMD для отправки текстовых файлов на принтер без открытия редактора. Поддерживает выбор устройства печати и фоновую очередь.

PRINT отправляет содержимое текстового файла в очередь печати принтера прямо из командной строки Windows — без открытия редактора и без GUI. Команда используется в скриптах автоматизации, когда нужно распечатать лог, отчёт или конфигурационный файл сразу после его создания.

Синтаксис команды 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 может отображаться некорректно — конвертируйте файл перед печатью.

Оцените статью
( Пока оценок нет )
MW10
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.