
В течение многих лет мы используем программное обеспечение Dataflex Data Base в качестве нашей «корпоративной системы» в нашей сети NT. Оно используется всеми 8 пользователями, работающими под управлением 'XP' и вызывающими среду DOS, работающую под управлением 'XP'. Работает отлично. Печатает на наших 2 больших сетевых принтерах Ricoh и локальных принтерах тоже. Dataflex создает файл на одном из сетевых дисков и добавляет ..... APPEND ALLCOMM "copy " allpath " LPT2" ... например ..
Наконец ... RUNPROGRAM WAIT ALLCOMM. Это печатается точно уже много лет. У нас сейчас 3 компьютера под управлением Windows7, и ни один из них не печатает на сетевом принтере. Настройки DOS те же, все на экране работает отлично. Команда печати с экрана та же (как показано выше). Выполнение команды COPY в окне DOS с использованием той же строки, созданной Dataflex, отлично отправляет файлы с принтера.
Похоже, что команда COPY не выполняется командой PowerFlex «RUNPROGRAM WAIT ALLCOMM». Однако она выполнялась в течение многих лет и продолжает выполняться на всех машинах, на которых запущено одно и то же окно DOS в «XP».
Мы думали, что это должно быть связано с настройкой принтеров, но выполнение команды COPY из сетевой папки работает, а выполнение из PowerFlex — нет. Надеюсь, вы, эксперты, сможете подсказать, в чем разница с W7.
Спасибо и привет
Бернард
решение1
Похоже, что вы настроили LPT2 как порт для принтера, поэтому мы можем предположить, что RUNPROGRAM использует тот же порт для отправки файла на принтер. В этом случае вы должны иметь возможность использовать команду NET USE, чтобы сопоставить сетевой принтер с портом LPT, как показано ниже:
NET USER LPT2: //имя_сервера/имя_принтера /PERSISTENT:YES
В этой команде servername — это имя сервера, на котором настроен принтер; printername — это общее имя этого принтера, заданное на сервере.