|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Печать всех файлов pdf, doc, docx, xls, xlsx из папки |
|
CMD/BAT - Печать всех файлов pdf, doc, docx, xls, xlsx из папки
|
Старожил Сообщения: 345 |
Профиль | Отправить PM | Цитировать Приветствую.
Ни у кого в загашнике нет готового bat или cmd с печатью в фоне (без открытия окон) всех файлов pdf, doc, docx, xls, xlsx из папки, в которой bat или cmd помещен? Может есть аналог приложения 2printer не требующий установки? Или может еще как? |
|
Отправлено: 14:03, 01-03-2019 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Sisin, пакетного файла нет и быть не может. Может быть скрипт на WSH/AutoIt/PowerShell или какое-нибудь приложение на ЯВУ. Одна тонкость: нормально печатать таким способом посредством умолчального Acrobat Reader не получится, нужна будет ещё одна утилита командной строки, либо какое-нибудь иное приложение.
|
Отправлено: 19:20, 01-03-2019 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 345
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Может кто уже решил такую задачу или знает консольный аналог 2printer. |
|
Отправлено: 20:16, 01-03-2019 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Sisin, никакой связи между gui/console и installable/portable не существует.
Цитата Sisin:
Цитата:
P.P.S. Посмотрел . Sisin, извлеките содержимое 2printer-free-setup.exe посредством innounp.exe. Запустите на целевой машине файл 2Printer.exe с параметром /install. Рядом с 2Printer.exe будет сгенерирован файл 2printer-install.ini со специфичным содержимым. Пользуйте 2Printer.exe. P.P.P.S. По-моему, сто тридцать мегабайт — это чересчур для такой простой задачи. |
||
Отправлено: 21:31, 01-03-2019 | #4 |
Старожил Сообщения: 345
|
Профиль | Отправить PM | Цитировать А как такой вариант VBS?
Option Explicit Const ForReading = 1 Dim objFSO Dim objTS Dim objWshShell Dim objWord Dim objDoc Dim objExcel Dim objWorkbook Dim strListFileName Dim strFileName If WScript.Arguments.Count = 1 Then Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") Set objWshShell = WScript.CreateObject("WScript.Shell") strListFileName = WScript.Arguments.Item(0) 'WScript.Echo strListFileName If objFSO.FileExists(strListFileName) Then Set objTS = objFSO.OpenTextFile(strListFileName, ForReading) Set objWord = Nothing Set objExcel = Nothing Do Until objTS.AtEndOfStream strFileName = objTS.ReadLine() 'WScript.Echo strFileName If objFSO.FileExists(strFileName) Then Select Case UCase(objFSO.GetExtensionName(strFileName)) Case "DOC" PrintDOC strFileName Case "XLS" PrintXLS strFileName Case "PDF" PrintPDF strFileName Case Else ' Nothing to do End Select End If Loop If Not objWord Is Nothing Then objWord.Quit Set objWord = Nothing End If If Not objExcel Is Nothing Then objExcel.Quit Set objExcel = Nothing End Select objFSO.GetFile(strFileName).Name = objFSO.GetBaseName(strFileName) & "_printed." & objFSO.GetExtensionName(strFileName) End If Loop Set objWshShell = Nothing Set objFSO = Nothing End If WScript.Quit 0 '============================================================================= '============================================================================= Sub PrintDOC(strFileName) Const wdDoNotSaveChanges = 0 If objWord Is Nothing Then Set objWord = WScript.CreateObject("Word.Application") End If With objWord Set objDoc = .Documents.Open(strFileName, False, True, False) objDoc.PrintOut True Do WScript.Sleep 500 Loop Until .BackgroundPrintingStatus = 0 objDoc.Close wdDoNotSaveChanges Set objDoc = Nothing End With End Sub '============================================================================= '============================================================================= Sub PrintXLS(strFileName) If objExcel Is Nothing Then Set objExcel = WScript.CreateObject("Excel.Application") End If With objExcel .AskToUpdateLinks = False .Interactive = False .DisplayAlerts = False Set objWorkbook = .Workbooks.Open(strFileName, 0, True) objWorkbook.PrintOut objWorkbook.Close False Set objWorkbook = Nothing End With End Sub '============================================================================= '============================================================================= Sub PrintPDF(strFileName) objWshShell.Run """C:\Program Files (x86)\Adobe\Acrobat DC\Acrobat\AcroRd32.exe"" /h /p """ & strFileName & """", 0, True End Sub '============================================================================= |
|
Отправлено: 21:46, 01-03-2019 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Sisin:
1. Для Вашего случая он нуждается в некоторой переделке, заключающейся в том, что приведённый код рассчитан на обработку документов из сформированного списка в текстовом файле, путь к которому передаётся скрипту в качестве параметра. 2. Приведённый код являлся упрощением более сложного варианта скрипта, который «следил» за содержимым каталога, при появлении в нём новых документов печатал их и, по окончании процесса постановки задания в очередь печати, удалял/перемещал эти документы. 3. AcroRd32.exe не завершает свою работу по окончании процесса печати, но заказчика такой вариант вполне устраивал, посему для печати pdf-файлов был использован именно он, и именно в таком виде. Вот как-то так. |
|
Отправлено: 23:40, 01-03-2019 | #6 |
Старожил Сообщения: 345
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 00:33, 02-03-2019 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Sisin:
Цитата Sisin:
|
||
Отправлено: 01:51, 05-03-2019 | #8 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Печать pdf-файлов из командной строки. | Michael | Скриптовые языки администрирования Windows | 6 | 06-02-2019 10:18 | |
2012 R2 - [решено] В одной учетной записи не открываются файлы *.doc *.xls (При этом все хорошо с *.docx | alexwci | Windows Server 2012/2012 R2 | 9 | 20-12-2018 11:20 | |
CMD/BAT - Переименование файлов .doc в .docx | Falcon99 | Скриптовые языки администрирования Windows | 12 | 07-08-2018 15:13 | |
CMD/BAT - [решено] Пересохранить документы из DOC в DOCX | NikolayHAOS | Скриптовые языки администрирования Windows | 6 | 19-08-2017 12:22 | |
Разное - [решено] Резервное копирование файлов doc и xls. | dzekka | Microsoft Windows 2000/XP | 2 | 28-01-2011 13:09 |
|