Форум программистов, компьютерный форум, киберфорум
Наши страницы

Batch (CMD/BAT)

Войти
Регистрация
Восстановить пароль
 
mbl
0 / 0 / 0
Регистрация: 05.12.2017
Сообщений: 2
#1

Печать файлов из каталога по маске - CMD/BAT

05.12.2017, 15:44. Просмотров 148. Ответов 3

Здравствуйте.
Не могу разобраться с батником, который достался в наследство.
Имеем кусок кода, который печатает все встречающиеся документы формата .pdf из папки \\servername\print и ее подпапок:

Windows Batch file
1
2
for /R "\\servername\print"  %%a in  (*.pdf)
do ("C:\Program Files\Microsoft Office\Office12\winword.exe" "%%a" /mFilePrintDefault /mFileExit)
Подскажите, пожалуйста, как настроить печать только из директорий с заданой маской папки (*01_*), например:
\\servername\print\print01_12265\
\\servername\print\temp01_13458\
\\servername\print\01_12345\
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2017, 15:44
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Печать файлов из каталога по маске (CMD/BAT):

Создание каталога, копирование файлов, архивирование содержимого каталога, запись результата работы в файл - CMD/BAT
Написать командный файл, выполняющий следующие действия: создать каталог с названием dir<дата>, где <дата> - дата, которая была 35000...

Копирование файлов в папки по маске файла и маске папки - CMD/BAT
Добрый день! Товарищи, помогите. Возникла надобность раскладывать файлы по маске папки и маске файла. То есть, расскажу детальней, есть...

Копирование отсутствующих и изменённых файлов по результатам сверки файлов одного каталога с файлами другого - CMD/BAT
Всем привет. такая вот задача у меня. я не селен в этом. но стараюсь. есть 2 каталога (1. NEW, 2. CLONE)с файлами в один из них время от...

Переименование файлов по маске - CMD/BAT
Есть папка, в которой хранятся файлы с разным расширением. Нужно переименовать только те файлы, у которых четвертая буква "s" в имени...

Переименование файлов по маске - CMD/BAT
Уважаемые друзья, добрый день! Стоит задача; В папку С:\1, копируются файлы вида КОМПАНИЯ-ПППП (ТиНс) Y_20170116.html, требуется данные...

Переименование файлов по маске - CMD/BAT
Подскажите пожалуйста, как переименовать файлы батником EUSimple-KEP.12345678.25-01-14.12-34.p10 в 12345678.25-01-14.12-34.p10 если...

3
Joey
Модератор
826 / 548 / 147
Регистрация: 05.05.2015
Сообщений: 3,181
Записей в блоге: 1
05.12.2017, 21:36 #2
mbl, есть один топорный метод, но он нагляднее, чем однострочная прога: используем буферный файл. Сначала выводите все найденные Вашим методом файлы в текстовый файл, например, buffer.txt, затем разбираете по строкам этот файл, отбирая по маске 01_:
Windows Batch file
1
2
3
for /r "\\servername\print" %%a in (*.pdf) do echo %%a>>buffer.txt :: все pdf-файлы во всех подпапках
findstr /i "01_" buffer.txt>>buffer2.txt :: из всех полученных путей отбираем с 01_ в имени
for /f "delims=" %%i in (buffer2.txt) do ("C:\Program Files\Microsoft Office\Office12\winword.exe" "%%i" /mFilePrintDefault /mFileExit)
Можно и покороче
Windows Batch file
1
2
for /r "\\servername\print" %%i in (*.pdf) do echo %%i>>buffer.txt
for /f "delims=" %%a in ('findstr /i "01_" buffer.txt') do ("C:\Program Files\Microsoft Office\Office12\winword.exe" "%%a" /mFilePrintDefault /mFileExit)
1
mbl
0 / 0 / 0
Регистрация: 05.12.2017
Сообщений: 2
06.12.2017, 18:39  [ТС] #3
Joey, большое вам спасибо.

Добавлено через 6 часов 15 минут
Joey, подскажите, пожалуйста, еще такой момент.
В куске кода ниже мы дополняем файл buffer.txt
Bash
1
for /r "\\servername\print" %%i in (*.pdf) do echo %%i>>buffer.txt
Поэтому каждый раз при запуске печатается то, что уже было ранее, что некорректно.

Но при варианте
Bash
1
do echo %%i>buffer.txt
в файл попадает только одно значение (из самой последней папки каталога). В итоге батник не видит нужные нам папки и ничего не печатает. Не могу понять почему так происходит?
0
Joey
Модератор
826 / 548 / 147
Регистрация: 05.05.2015
Сообщений: 3,181
Записей в блоге: 1
07.12.2017, 01:19 #4
mbl, можно удалять файл перед каждым запуском батника
Windows Batch file
1
erase buffer.txt
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2017, 01:19
Привет! Вот еще темы с ответами:

Удаление файлов по маске - CMD/BAT
День добрый. Помогите с батником: Удаление файлов по маске. Маска и путь задаются в батнике,так же нужен запрос на удаление В конце...

Архивирование файлов по маске - CMD/BAT
7Z.exe a -tzip -mx7 -i!*.log ..\oldLog ..\_log В результате создается архив со всей папкой _log, а мне надо только что бы были файлы...

Архивация файлов по маске - CMD/BAT
Добрый день! Прошу сразу сильно не пинать ногами ибо пишу первое сообщение на форум. Поиском ответа на вопрос не нашел, точнее что то нашел...

Переименование группы файлов по маске - CMD/BAT
Здравствуйте, не нашел синтаксиса тонкостей работы с именами файлов. Задача: в папку прилетают файлы типа 2014_09_22_00998877_456.png ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru