Друк з командного рядка Windows 7


8

Я хочу автоматизувати певну роботу в Windows 7. Ідеально з командного рядка. Так само, як ніби я клацнув правою кнопкою миші та вибрав "Друк".

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

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

Цей принтер повинен створити файли PDF (як-от принтер XPS), але нічого не вдалося отримати у черзі принтера. Ідеї?



1
Схоже на ваше запитання stackoverflow.com/questions/5104930/how-to-print-through-cmd
Ishikawa Yoshi

Ви намагаєтеся створити PDF-файли чи роздрукувати їх (або обидва)?
мартіно

@martineau Я намагаюся створити файли PDF за допомогою цього "принтера". Тож я здогадуюсь обох. Але я не прагну отримати фізичні папери.
mizipzor

@mizipzor: Добре, я розумію. Я думаю, що Денніс має вашу відповідь. Я б призначив це, LPT1якщо можливо, що є типовим для більшості команд.
мартіно

Відповіді:


15

printКоманда використовує наступний synatx для /d:перемикача:

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

Це означає, що ви не можете використовувати "CutePDF Writer"як аргумент.

Є два способи, які повинні працювати:

  • Призначте COM-порт для свого принтера.

    1. Відкрийте Пуск → Панель управління → Пристрої та принтери .
    2. Клацніть правою кнопкою миші CutePDF Writer та виберіть Властивості принтера .
    3. На вкладці « Порти » призначте невикористаний порт від 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 за допомогою покрівель, що постачається в 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. Файл завдання успішно потрапляє у друкований лист, коли ви слідуєте за відповіддю Денніса.

  2. Але потім обробка завдань застрягає, оскільки цей принтер не може споживати вхідний файл TEXT ! Причини:

    • Черги друку в Windows набагато більш німі в цьому відношенні (на відміну від черг CUPS Linux / Unix / OSX - які можуть автоматично вводити вхідні дані та автоматично конвертувати їх у відповідні черги друку, як відомості, що засвоюються).
    • Ваш принтер дуже ймовірно очікує, що дані PostScript введені для того, щоб створити з нього PDF.

Отже, те, що ви намагаєтеся зробити зі своєю командою, не вийде : надішліть текстовий файл на створений PDF-принтер. І неможливо змусити його працювати будь-яким іншим "простим" способом ...


0

Панель керування, а потім Пристрої та принтери Клацніть правою кнопкою миші на принтері, а потім властивості принтера. Переконайтеся, що принтер надано загальний доступ, а "Надіслати ім'я" має 8 символів або менше. У запиті DOS> net use lpt1: \ 127.0.0.1 \ Тепер ваші програми DOS надрукують!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.