Как скопировать текст из ДОС-окна, или печатать из DOS-приложений на принтер, который подключен через USB-порт или по сети?  (Добавлено 10 Июня 2008)

Для начала нужно понимать, что исконно MS DOS не поддерживает портов USB для подключения принтера (есть реализации драйвера USB-порта, но в основном они для внешних накопителей). Посему для того, чтобы ДОС-задачи (например старые-добрые АРМы написанные на верном Фоксе) могли печатать на USB или сетевой принтер, необходимо, чтобы такая задача выполнялась не в "чистом" ДОСе, а в окне Windows. Далее, зайдя в папку принтеров, необходимо установить наш принтер на свой компьютер. Лучше всего, если это сделает сама система при помощи Plug-n-Play, если принтер подключен через USB, или вручную, согласно инструкций, если принтер сетевой, после чего сделать его общедоступным (расшарить). Далее на этой же машине необходимо перенаправить один из параллельных портов на только что созданную шару. Предположим, что наш компьютер называется Comp1, (имя компьютера можно найти, если нажать правой кнопкой мыши на "Мой компьютер" и выбрав там пункт "Свойства" зайди во вкладку "Имя компьютера"):

а расшаренный на нём принтер - Printer1 (В папке "Принтеры и факсы" выберите установленный принтер, нажмите на нем правой кнопкой мыши, выберите пункт "Свойства" и откройте вкладку "Доступ"):

Для перенаправления порта вводим следующую команду:

NET USE LPT2: Comp1Printer1 /PERSISTENT:Yes

Рекомендую использовать именно LPT2, а не перенаправлять реально существующий LPT1 (благо ДОС-задачи обычно предлагают простой способ выбора порта LPT) - может ведь возникнуть ситуация, когда к параллельному порту придётся физически что-нибудь подключить, и вряд ли в тот момент удастся вспомнить, что когда-то на этот порт была перенаправлена системная шара (ключ PERSISTENT переключает порт "навсегда") и долго пытаться понять, почему же подключенный к LPT1 девайс - не работает. Для проверки правильности подключения можно скопировать текстовый файлик на наш "новый порт":

COPY file.txt LPT2:

Ещё раз обращаю внимание, что созданный таким образом порт переопределяется навсегда и чтобы отключить его, нужно ввести команду:


NET USE LPT2: /DELETE

При этом необходимо помнить, что из ДОС-задач могут нормально печатать только аппаратные принтеры (фактически только принтеры, поддерживающие язык PCL, если это лазерники, или команды ESC/P, IBM, Microline и т.п., если принтеры матричные). GDI-принтеры (они же Windows-принтеры, они же Host-Based принтеры) печатать из приложений ДОС самостоятельно не могут и для обеспечения их работы из приложений ДОС, запущенных из Windows (только в этом случае!!!), лучше всего воспользоваться утилитой DOSprn, а ещё лучше заранее подобрать такой принтер, который во-первых является аппаратным, а во-вторых, аппаратно же русифицирован.


При использовании информации с этого сайта ссылка на www.KudesNIK.net обязательна!
Яндекс.Метрика SPRINTHOST.RU: быстрый и надежный хостинг!