Печать из командной строки Windows 7
Я ищу, чтобы автоматизировать некоторые печати в Windows 7. В идеале из командной строки. Так же, как если бы я щелкнул правой кнопкой мыши и выбрал "Печать".
Попробовал команду:
C:\>print /D:"CutePDF Writer" test.txt
Предполагается, что этот принтер создает файлы PDF (например, принтер XPS), но ему не удалось ничего отобразить в очереди на печать. Идеи?
5 ответов
print
Команда использует следующий синтаксис для/d:
переключатель:
Указывает принтер, на котором вы хотите распечатать задание. Вы можете указать локальный принтер, указав порт на вашем компьютере, к которому подключен принтер. Допустимые значения для параллельных портов: LPT1, LPT2 и LPT3. Допустимые значения для последовательных портов: COM1, COM2, COM3 и COM4. Вы также можете указать сетевой принтер по имени его очереди (\ServerName\ShareName). Если вы не укажете принтер, задание на печать будет отправлено на LPT1.
Это означает, что вы не можете использовать"CutePDF Writer"
в качестве аргумента.
Есть два способа, которые должны работать:
Назначьте COM-порт вашему принтеру.
- ОткройтеПуск → Панель управления → Устройства и принтеры.
- Щелкните правой кнопкой мыши наCutePDF Writer и выберите Свойства принтера.
- На вкладке "Порты" назначьте неиспользуемый порт из
COM1:
вCOM4:
к вашему принтеру. Если вы выбрали, например,
COM3
, распечатайте с помощью следующей команды:print /d:COM3 test.txt
Поделитесь принтером.
- ОткройтеПуск → Панель управления → Устройства и принтеры.
- Щелкните правой кнопкой мыши наCutePDF Writer и выберите Свойства принтера.
- На вкладке "Общий доступ" выберите общий доступ к принтеру и присвойте ему имя общего ресурса.
Если вы выбрали, например,
CutePDF
распечатайте с помощью следующей команды:print /d:\\%COMPUTERNAME%\CutePDF test.txt
Печать зарегистрированных типов файлов Файлы, связанные с типами файлов в Windows (95/98 / NT / 2000), можно распечатать правой кнопкой мыши.
Эту связь можно увидеть, например, для файла .rtf в
"HKEY_LOCAL_MACHINE\SOFTWARE\Classes\rtffile\shell\printto\command"
где команда выглядит примерно так:
"%ProgramFiles%\Windows NT\Accessories\WORDPAD.EXE" /pt "%1" "%2" "%3" "%4"
что значит :
"wordpad.exe /pt TextFileName PrinterName [ DriverName [ PortName ] ]"
(квадратные скобки означают необязательно). Он может быть вызван из cmd с использованием powershell, поставляется с Windows начиная с Vista.
powershell -command "start -verb printto AnyFile.rtf PrinterName [ DriverName [ PortName ] ]"
Строго:
"%windir%\System32\WindowsPowerShell\v1.0\powershell.exe" "-Command" "& {Start-Process -FilePath 'test.txt' -ArgumentList '\"CutePDF Writer\"' -Verb 'printto' }"
Он работает практически для любых зарегистрированных типов файлов с таким зарегистрированным глаголом (printto)! Но драйверы принтера обычно показывают диалог пользователя. Показ диалогового окна пользователя может быть отключен на принтере Bullzip Pdf.
Привет. Следующее проще установить CutePDF в качестве принтера по умолчанию, если вы знаете DOS, тогда установка принтера по умолчанию не должна быть проблемой, а затем снова установить настройки принтера по умолчанию.
чтобы распечатать текстовый файл или файл htm, файл bat или любой текстовый файл, введите следующее
notepad /p test.txt
для других программ найдите формат командной строки для печати (в regedit или в документации)
@mizipzor:
Файл задания успешно попадает в очередь печати, когда вы следуете ответу Денниса.
Но тогда обработка задания застревает, потому что этот принтер не может использовать входной файл TEXT! Причины:
- Очереди печати Windows намного тупее в этом отношении (в отличие от очередей CUPS Linux/Unix/OSX - которые могут автоматически вводить входящие данные и автоматически преобразовывать их в то, что соответствующая очередь печати сообщает в качестве усваиваемых данных).
- Скорее всего, ваш принтер ожидает ввод данных PostScript для создания PDF-файла.
Следовательно, то, что вы пытаетесь сделать с помощью вашей команды, не сработает: отправьте текстовый файл на "принтер", создающий PDF. И невозможно заставить его работать любым другим "простым" способом...
Затем на панели управления "Устройства и принтеры" щелкните правой кнопкой мыши на принтере, затем на свойствах принтера. Убедитесь, что принтер является общим и "общее имя" не более 8 символов. При запросе DOS>net use lpt1: \127.0.0.1\ Теперь ваши DOS-программы будут печататься!