2

Автоматически печатать текстовый документ, используя файл bat

"C:\Program Files\Microsoft Office\Office14\winword.exe" "D:/new/CABSC.docx" /mFilePrintDefault /mfileexit

используя этот файл bat, я могу автоматически печатать одно слово документа.

Но у меня есть более 100 слов документа с другим именем. Можно ли вызвать их здесь, чтобы напечатать весь документ word, используя этот файл bat.

2 ответа2

2
@echo off
setlocal
set "winword=C:\Program Files\Microsoft Office\Office14\winword.exe"
for /f "delims=" %%a in ('
  dir /b /s "c:\path\docs\*.docx"
') do (
  "%winword%" "%%~a" /mFilePrintDefault /mfileexit
)

Используется SET VARIABLE, wildcards внутри DIR внутри FOR.

2

Я нашел сценарий VBS, который печатает все документы в папке, в которой он выполняется:

set shApp = CreateObject("shell.application")
currentPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".") 
set shFolder = shApp.NameSpace( currentPath )
set files = shFolder.Items()
for each files in files

    if files.name <> "Imprimir.Expediente" then
        'msgbox("printing "&files.name) 
                                files.InvokeVerbEx ("Print") 

    end if
next

Может быть, это могло бы сделать это для вас.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .