Lavr wrote:Я думаю, подробности моих шаманских плясок вам не интересны, но в итоге я выдавил из гаджета то, что так хотел:
С:\СОРY /B TESTFILE.BIN LPT2 - сработало!

В общем пришлось мне эти "шаманские пляски с бубнами" повторить, но в масштабах несравнимых...
Дело в том, что я эти пляски выполнял под
Windows XP, а это всё же не самая злобная ОС.
А тут пришлось повторить "пляски с бубнами" под
Windows 7 в течение 2-х суток, и я уже
думал у меня голова лопнет!
Вкратце - если надо послать на принтер бинарный файл, чтобы ни один драйвер Венды не испортил
ни одного байта, и не вставил лишнего, лучше всего использовать команду:
С:\СОРY /B TESTFILE.BIN LPT1 (или
PRN )
Но если реально на компе порта
LPT нет, то
СОРY в порт
USB (некий
USB0001)
не сработает...
Поэтому делают хитрый трюк, чтобы обмануть гнусную Венду вот так: принтер делают доступным
по сети, или, как говорят "расшаривают".
1_SHARE1.gif
Далее - надо точно скопировать его сетевое имя, хотя его мы задаем сами. Причем желательно, чтобы
в имени не было пробелов и кириллицы, это удлинит шаманский танец, если что...
Пусть для определенности будет:
MyPrinter
Также нужно точно знать сетевое имя своего компьютера и лучше его узнать, набрав в командной
строке (
cmd) команду
hostname.
Пусть для определенности будет:
MyComputer 
(как неоригинально!)
Теперь следует "замапить" (как говорят) по сети этот сетевой принтер на
LPT1, и делается
это из командной строки так:
net use LPT1 \\MyComputer\MyPrinter
Если всё пройдёт успешно, на этот
LPT1 уже и можно делать
С:\СОРY /B TESTFILE.BIN LPT1 .
Но тут и возникают всякие "но"...
Windows XP, как говорят, не любит "мапить" на
LPT1.
Поэтому лучше сделать
net use LPT2 \\MyComputer\MyPrinter и потом уже:
С:\СОРY /B TESTFILE.BIN LPT2 .
Также, говорят, что если в компьютере есть настоящие
LPT1 и
LPT2 - конфликт может быть
с ними, тогда лучше "НетЮзать" несуществующий
LPT - да хоть
LPT5 ...
Мы можем проверить, как всё удачно или неудачно "замапилось":
С:\net use LPT1
Local name LPT1
Remote name \\MyComputer\MyPrinter
Resource type Print
Status OK
# Opens 0
# Connections 1
The command was completed successfully.
Это - успешно... примерно то же самое будет и на русской Венде, и самое главное, это:
Status OK - без него печатать не будет и в
Windows 7 придется ткнуть иконку принтера
и выбрать "
Присоединить".
Если что-то не так - можно отсоединить сетевой принтер от
LPT:
net use LPT1 /d
LPT1 was deleted successfully.
---------------------------------------------------------------------------------------
Всё, что сказано выше, под
Windows ХР должно сработать без проблем...
а вот под под
Windows 7 делаем всё то же, но начинаются проблемы...
Если кто мне не верит, минимум вот столько людей не могут решить эту проблему:
https://serverfault.com/questions/55532 ... o-lpt-port
http://forum.vingrad.ru/forum/topic-328349/kw-windows-copy-prn-сеть/view-all.html
https://social.technet.microsoft.com/Fo ... networking
https://superuser.com/questions/420149/ ... ed-printer
http://forum.wincmd.ru/viewtopic.php?p=100874
Под
Windows 7 делаем всё то же, но получается вот что:
net use LPT2 \\MyComputer\MyPrinter
команда успешно выполнена
copy %1 LPT2
Отказано в доступе.(он же access denied)
Скопировано файлов 0.
net use LPT2 /delete
LPT2 успешно удален
И никакие страшные заклинания не берут эту проблему! И звук бубна бьёт по собственной голове!
(
Я не буду приводить ошибочные решения...)
Но в итоге ларчик открылся очень просто:
When printing some data to a connected printed via the dos COPY command:
it works great when the printer is set to "spool" but when using "print directly to printer" windows returns an access denied error.
The user is an administrator. I have tried adjusting the Win32/Spool directory to allow full RW permissions.
I've had the issue under Windows 7 and Windows 8.
The printer is connected via USB and is shared using NET USE as LPT3 via local ip,
ex: net use lpt3 \127.0.0.1\printer /persistent:yes
То есть, в свойствах принтера надо поставить галочки на вкладке чаще всего
Дополнительно:
* Использовать очередь печати
* Начинать печать после помещения в очередь всего задания .
2_PRINT1.gif
и вот тут-то мы и получает желанное:
copy %1 LPT2
Скопировано файлов 1.
Я надеюсь, что это поможет всем страдальцам (как и мне, мучавшемуся двое суток), ибо наш форум
хорошо индексируется в поисковиках, а я не могу рассказать про это на стольких площадках...

You do not have the required permissions to view the files attached to this post.