2013-10-02 3 views
1

Я пытаюсь создать пакетный файл для моей службы поддержки, который будет использоваться для тестирования принтеров zebra.печать из ms paint в командной строке

Вот партия, что я создал

set /p %zebra= Enter Printers name - 
set /p %server= Enter Server name - 
rundll32 printui.dll,PrintUIEntry /in /n\\%server%\%zebra% 
mspaint /p test.bmp /pt %zebra%  
rundll32 printui.dll,PrintUIEntry /dl /n %zebra% /q 

две вещи неправильно с этим

  1. mspaint /p test.bmp /pt "network printer" говорит мне, что указанный принтер является недействительным. Принтер есть. и,
  2. rundll32 printui.dll,PrintUIEntry /dl /n %zebra% /q не удаляет добавленный принтер. Я также пробовал использовать /dn %zebra%, и это тоже не сработало.

любые предложения?

+0

Является ли «сетевой принтер» на самом деле именем вашего принтера зебры? И он установлен на ПК, на котором вы запускаете этот скрипт? – GolezTrol

+0

У вас есть сетевой принтер с именем «сетевой принтер»? Кроме того, возьмите параметр/q с последнего rundll32, чтобы вы могли видеть сообщения об ошибках. –

+0

[Это похоже] (http://stackoverflow.com/questions/141052/ms-paint-command-line-switches), но это не дубликат. Это может помочь ... – rene

ответ

1

%zebra% идентифицирует переменную 'zebra'. Но в вашей команде набора вы также можете использовать (один) процент знак:

set /p %zebra= Enter Printers name - 

Это приводит к тому, чтобы вы установите переменную %zebra, которая не является переменной прочитать позже.

Это касается только одной из ваших проблем, но я надеюсь, что это поможет. Я не могу воспроизвести другую проблему. Печать из командной строки на конкретный принтер (который я даже не знал, что MSPaint мог бы сделать), кажется, работает отлично здесь. Я печатал как PDFCreator, так и принтер Wi-Fi. Оба работают нормально.

Общая рекомендация: попробуйте выполнить каждый шаг в командной строке, прежде чем объединять все это в скрипт и вводить переменные и ввод. Таким образом, если он внезапно перестает работать, вы знаете, что сделали (возможно, тривиальную) ошибку, добавив шаг, подобный пользовательскому вводу.

+0

http://i.imgur.com/q5G1ipz.png. как вы можете видеть из снимка экрана, я запускаю немного другой сценарий. пакет в SS устанавливает принтер, который я добавляю по умолчанию, и печатает. все это прекрасно работает. удаление - это то, что я не могу заставить работать. Я также не могу печатать с конкретного принтера из краски в командной строке. Я не хочу, чтобы пакет устанавливал принтер по умолчанию. после удаления принтера по умолчанию используется неверный принтер. – Dullawolf

0

Проблема в имени принтера. У него не должно быть пробелов. HP 451 ошибочен. HP_451 работает нормально.

Смежные вопросы