Войти

Показать полную графическую версию : Скрипт для размещения файлов pdf с папки на рабочем столе по папкам на сервере


Arman.Bugatayev
28-12-2015, 21:49
Здравствуйте, уважаемые знатоки.

Нужна помощь в следующем: по работе приходится работать с ежедневными отчетами, которые приходят на почту. Их нужно перевести в pdf и разложить по соответствующим папкам.
На текущий момент делаю следующее: складирую все в папку на рабочем столе, а после в ручную раскидываю по папкам на сервере.
Каждый раз возникает чувство, что компьютер вполне способен делать это самостоятельно. Осталось только придумать как это реализовать.

Пример такой: я создаю 10 файлов с именами типа
DAR_geology_28_12_15.pdf,
DAR_HSE_28_12_15.pdf,
DAR_Maintenance_28_12_15.pdf и т.д. все названия разные.

Нужно чтобы осуществлялось перемещение этих файлов по папкам в директории на сервере ...\DAR\2015\12.2015
Названия папок для приведенных в качестве примера файлов:
5.GEOLOGY
10.HSE
6.Maintenance и т.д.

Как это можно осуществить?

megaloman
29-12-2015, 18:49
Arman.Bugatayev,
1. Префикс файлов всегда dar ? Дата в имени файла всегда в формате _дд_мм_гггг ?
2. Имя папки всегда между первым и вторым символами подчеркивания из имени файла? Внутри имени папки подчеркивания быть не может?
3. Из каких соображений присвоен номер перед именем папки? И вообще, зачем он нужен?

DarckSol
30-12-2015, 10:22
C:\Documents and Settings\s1>copy /?
Копирование одного или нескольких файлов в другое место.

COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B] источник [/A | /B]
[+ источник [/A | /B] [+ ...]] [результат [/A | /B]]

источник Имена одного или нескольких копируемых файлов.
/A Файл является текстовым файлом ASCII.
/B Файл является двоичным файлом.
/D Указывает на возможность создания зашифрованного файла
результат Каталог и/или имя для конечных файлов.
/V Проверка правильности копирования файлов.
/N Использование, если возможно, коротких имен при копировании
файлов, чьи имена не удовлетворяют стандарту 8.3.
/Y Подавление запроса подтверждения на перезапись существующего
конечного файла.
/-Y Обязательный запрос подтверждения на перезапись существующего
конечного файла.
/Z Копирование сетевых файлов с возобновлением.

Ключ /Y можно установить через переменную среды COPYCMD.
Ключ /-Y командной строки переопределяет такую установку.
@echo off
copy file.dfp \\192.168.0.100\share\report.pdf
copy file2.dfp \\192.168.0.100\share\OTK\report2.pdf
copy file3.dfp \\192.168.0.100\share\KB\report1.pdf
copy file4.dfp \\192.168.0.100\share\EXT\report1.pdf
...
...
...
----------------------------------------
Так не поможет? Так же файл можно засунуть в планировщик задач и заставлять делать это действие по расписанию)
ПС: Если Вы администратор сервера, то этот скрипт можно выполнять в обратном порядке с сервера.
То есть исходный путь, это Ваш ПК(ADMIN-PC), а папка назначения локальная, папка с шарой... Снова таки засунем скрипт в планировщик, своевременно положим отчёты в нужную папку у себя на ПК и радуемся работе скрипта, который сам заберет и разложит нужные файлы в нужные папки
ПСС: Не рекомендую использовать кирилицу, т.к она сложно перевариваемая в баниках, нужно задавать переменные в нужной кодировке. Английские символы подойдут лучше всего.

Iska
30-12-2015, 12:17
ПСС: Не рекомендую использовать кирилицу, т.к она сложно перевариваемая в баниках, »
Не припоминаю проблем с пакетными файлами из-за кириллицы в именах объектов файловой системы.




© OSzone.net 2001-2012