![]() |
скрипт переноса файлов с директории в директорию
Добрый день уважаемые! Очень нужна ваша помощь в создании скрипта переноса файлов. Есть сервер на котором формируются файлики в папке 1, нужно файлики за сегодняшний день скопировать в папку с сегодняшней датой а затем заархивирывать эту папку и перенести ее на другой сервер в розшареную папку 2. Прошу помочь, возможно есть уже готовые решения?
|
|
Прошу прощения что изначально поместил тему не в ту ветку форума, спасибо модератору за перенос.
Появился более конкретный вопрос, как заставить copy переносить только файлы начинающиеся на F именно в верхнем регистре, причем за F идут только цифры и файл без розширения. F*.* не подходит, потому что переносит f в нижнем регистре, а так же файлы с различным розширением начинающиеся на [Ff]. - маска для файлов типа "F0459840298" F[0-9]{+}$ или как сначало указать файлы для копирования? - подскажите пожалуйста как примонтировать удаленный ресурс net use с логином и паролем Зарание благодарен. |
Цитата:
Код:
set SDIR=d:\1 Цитата:
Код:
net use x: \\server\share password |
Клас!!! А ведь работает))) Спасибо тебе amel27!
P.S. я ленив, но я исправлюсь :) |
Добрый день! Чтоб не плодить похожих тем, решил отписать сюда же... :
каждый день в корень директории падает 6 файлов , задача первых 3 перенести в заранее созданную папку с вчерашней датой а остальные 3 в папку с сегодняшней датой. С созданием папок и копированием мне уже помогли, а вот как отделить 3 файла от 6ти... В общем делитесь идеями. |
Лед тронулся господа! Нашел на этом же форуме подобную задачку и переделал под себя, но как всегда не без НО.
Код:
@echo on Еще хочу дополнить, возможно я изначально пошел по неправильному пути, дел в том что я работаю с вайлами начинающимися на F и далее 7 цифр причем это не просто цыфры а конкретный номер, к примеру за вчера был файл F0000001 за сегодня уже будет F0000002 тоесть порядковый номер постоянно увеличиваеться с каждым файлом на еденицу, возможно с этим можно как нидь сыграть? |
|
Виноват, напутал : первых три файла в директорию с названием даты за субботу, тоесть позавчера ,
последнее верно. |
Цитата:
Цитата:
|
каждый день кроме субботы и воскресенья по шедулеру запускается скрипт который копирует файлы по маске на удаленную машину, алгоритм простой.
1 Скрипт создает папку с текущей датой 2 Копирует файлы по маске в директорию с текущей датой. Все бы ничего, но так как суббота и воскресенье выходные дни, в понедельник в корне появляються файлики и за субботу, всего 6 штук, файлики отличаются только порядковым номером в имени. Задача: 1 создать на удаленной машшине папку с текущей датой 2 создать на удаленной машине папку с датой за субботу 3 разделить 6 файлов по 3 по порядку 4 скопировать первых 3 файла в папку за субботу а 4,5,6 в папку с текущей датой, это дело должно работать в понедельник. Возможно ли это автоматизировать ? |
Daemonstar, может сделать проще - плясать не от даты запуска скрипта, а от даты создания самих файлов (т.е. когда они появились на диске)?.. в этом случае количество файлов и наличие выходных не будет иметь значения, достаточно будет прочитать дату и скинуть в соответствующую папку... ну и для того, чтобы надежно пропарсить команду "DIR /-C/TC" (имя каталога будет в первой колонке) хорошо бы точно знать шаблон имени файла... например, для: Fddddddd.TXT, где d - любая цифра 0-9:
Код:
dir /-C/TC| findstr /eirc:"F[0-9][0-9][0-9][0-9][0-9][0-9][0-9].TXT" |
Спасибо, но файлы падают в директорию после обработки, и по свойствам они все 6 как бы за понедельник, если бы можно было как то плясать от названия так как после F идет порядковый номер, и с каждым последующим файлом этот номер увеличивается на 1. Файлы без расширения.
|
Цитата:
|
Цитата:
Код:
@echo off |
Цитата:
при "лобовом" методе дату придется вычислять арифметически, примерно так: процедура StepWorkDays вычисляет (рабочий) день, отстоящий от текущего на заданное количество (рабочих) дней - вперёд или назад, скрипт настроен на 6-дневную рабочую неделю, для 5-дневки нужно поменять в 2-х местах (выделено цветом) "5" на "4", при запуске без параметров проверяет текущий день (рабочий/выходной), читает/устанавливает переменные окружения DW (день недели), YYYY (год), MM (месяц), DD (день) P.S. использованы формулы пересчета даты с www.dostips.com |
Ох, не знаю, оживёт ли тема.
Подскажите, пожалуйста, нужен скрипт (хотя и любая простая софтина подойдёт), чтобы переносить все новые файлы с папки А в папку Б с подпапками, генерируемыми по дням (типа mm-dd или yyyy-mm-dd). Т.е. папка А постоянна, а в папке Б каждый день должна создаваться своя подпапка. Ну и требуется, чтобы папка А мониторилась постоянно, т.е. при появлении новых файлов в папке А, они переносились в течении нескольких секунд. Daemonstar упомянул, что нашёл скрипт с генерацией подпапок по дням, но ссылок не нашёл :( |
Время: 23:27. |
Время: 23:27.
© OSzone.net 2001-