Печать из командной строки Windows 7

8

Я ищу, чтобы автоматизировать некоторые печати в Windows 7. В идеале из командной строки. Как если бы я щелкнул правой кнопкой мыши и выбрал «Печать».

Попробовал команду:

C:\>print /D:"CutePDF Writer" test.txt

Предполагается, что этот принтер создает файлы PDF (например, принтер XPS), но ему не удалось ничего отобразить в очереди на печать. Идеи?

mizipzor
источник
1
Похоже на ваш вопрос stackoverflow.com/questions/5104930/how-to-print-through-cmd
Исикава Йоши
Вы пытаетесь создать PDF-файлы или распечатать их (или оба)?
Мартино
@martineau Я пытаюсь создать PDF-файлы с помощью этого «принтера». Так что, думаю, оба. Но я не собираюсь получать физические документы.
Мизипзор
@mizipzor: Хорошо, я понимаю. Я думаю, что у Денниса есть твой ответ. Я бы назначил его, LPT1если это возможно, что является значением по умолчанию для большинства команд.
Мартино

Ответы:

15

Команда printиспользует следующий синтаксис для /d:коммутатора:

Указывает принтер, на котором вы хотите распечатать задание. Вы можете указать локальный принтер, указав порт на вашем компьютере, к которому подключен принтер. Допустимые значения для параллельных портов: LPT1, LPT2 и LPT3. Допустимые значения для последовательных портов: COM1, COM2, COM3 и COM4. Вы также можете указать сетевой принтер по имени его очереди (\ ServerName \ ShareName). Если вы не укажете принтер, задание на печать будет отправлено на LPT1.

Это означает, что вы не можете использовать "CutePDF Writer"в качестве аргумента.

Есть два способа, которые должны работать:

  • Назначьте COM-порт вашему принтеру.

    1. Откройте Пуск → Панель управления → Устройства и принтеры .
    2. Щелкните правой кнопкой мыши CutePDF Writer и выберите Свойства принтера .
    3. В Ports вкладке назначьте неиспользуемый порт от COM1:к COM4:принтеру.
    4. Если вы выбрали, например COM3, печать, используя следующую команду:

      print /d:COM3 test.txt
      
  • Поделитесь принтером.

    1. Откройте Пуск → Панель управления → Устройства и принтеры .
    2. Щелкните правой кнопкой мыши CutePDF Writer и выберите Свойства принтера .
    3. На вкладке « Общий доступ» выберите общий доступ к принтеру и присвойте ему имя общего ресурса.
    4. Если вы выбрали, например CutePDF, печать, используя следующую команду:

      print /d:\\%COMPUTERNAME%\CutePDF test.txt
      
Деннис
источник
если я хочу сканировать с принтера с помощью cmd, что делать?
Муат
Возможно, вы захотите сначала преобразовать свой TXT в PDF, используя бесплатную программу командной строки с именем text2pdf: eprg.org/pdfcorner/text2pdf
вс
5

Привет. Следующее проще установить CutePDF в качестве принтера по умолчанию, если вы знаете DOS, тогда установка принтера по умолчанию не должна быть проблемой, а затем снова установить настройки принтера по умолчанию.

чтобы распечатать текстовый файл или файл htm, файл bat или любой текстовый файл, введите следующее

  notepad /p test.txt

для других программ найдите формат командной строки для печати (в regedit или в документации)

Ансель
источник
4

Печать зарегистрированных типов файлов Файлы, связанные с типами файлов в 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.

Кое Кто
источник
1

@mizipzor:

  1. Файл задания успешно попадает в PrintQueue , когда вы будете следовать ответ Денниса.

  2. Но тогда обработка задания застревает, потому что этот принтер не может использовать входной файл TEXT ! Причины:

    • Очереди печати Windows намного тупее в этом отношении (в отличие от очередей CUPS Linux / Unix / OSX - которые могут автоматически вводить входящие данные и автоматически преобразовывать их в то, что соответствующая очередь печати сообщает в качестве усваиваемых данных).
    • Скорее всего, ваш принтер ожидает ввод данных PostScript для создания PDF-файла.

Следовательно, то, что вы пытаетесь сделать с помощью вашей команды, не сработает : отправьте текстовый файл на «принтер», создающий PDF. И невозможно заставить его работать любым другим «простым» способом ...

Курт Пфайфл
источник
0

Затем на панели управления «Устройства и принтеры» щелкните правой кнопкой мыши на принтере, затем на свойствах принтера. Убедитесь, что принтер является общим и «общее имя» не более 8 символов. При запросе DOS> net use lpt1: \ 127.0.0.1 \ Теперь ваши DOS-программы будут печататься!

user809460
источник