Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
101 / 95 / 8
Регистрация: 07.08.2013
Сообщений: 299
1

Скопировать все файлы, у которых возраст не больше 1 часа, в другую папку

08.08.2013, 00:06. Показов 1241. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Собственно обращаюсь к местным гуру, т.к. сам писать буду по всей видимости очень долго.

Задача такая:

есть папка с файлами формата:
13-08-07 195513 XJ5491785.IN
13-08-07 195514 XJ5491801.IN
13-08-07 195514 XJ5491802.IN
13-08-07 195514 XJ5491811.IN
13-08-07 195514 XJ5491812.IN
13-08-07 195514 XJ5491813.IN

Нужно скопировать все файлы у которых возраст не больше 1 часа в другую папку.
Время создания можно взять кроме как из времени создания файла еще и из его имени. Набор цифр вида 195514 -- и есть время создания в формате hhmmss.

Кроме того, что их нужно скопировать в другую папку их нужно переименовать отбросив таймстамп из имени файла, т.е. файл "13-08-07 195513 XJ5491785.IN" должен превратиться в "XJ5491785.IN". Если подобный файл уже будетв результирующей папке, то перезаписать.

Заранее большое спасибо за помощь.

Добавлено через 1 час 57 минут
Хм... а оказалось и ничего хитрого.

Вот что у меня получилось:
Bash
1
2
3
4
5
6
@echo off
rem формируем таймстамп с которым потом будем сравнивать файлы (текущее время -1 час -- как требуется в условии задачи)
set /a CTIME=%TIME:~0,2%-1
set CTIME=%CTIME%%TIME:~3,2%%TIME:~6,2%
 
for /f "tokens=1-3" %%1 in ('dir /b \test') do (if %CTIME% LEQ %%2 copy "\test\%%1 %%2 %%3" "\test1\%%3" >nul)
Вопрос №1: как оптимизировать две строчки в которых я получаю таймстамп уменьшенный на 1.
Bash
1
2
set /a CTIME=%TIME:~0,2%-1
set CTIME=%CTIME%%TIME:~3,2%%TIME:~6,2%
Вопрос №2: можно как-то обратиться ко всему множеству, без указания элементов? А то конструкция "%%1 %%2 %%3" что-то не очень нравится.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.08.2013, 00:06
Ответы с готовыми решениями:

Как скопировать с диска все файлы, в которых есть определённый текст, в одну папку?
А как скопировать все файлы на диске в которых есть определенный текст в одну папку ?

Скопировать из папки A в папку В файлы, которых нет в В
Дорогие форумчане, нужна ваша помощь в написании несложных бат файлов 3)Скопировать из папки A в...

Скопировать из папки A в папку B файлы, которых нет в B
Скопировать из папки A в папку B файлы, которых нет в B

Найти все файлы с определённым расширением, созданые в течение месяца, и скопировать их в заданную папку
Добрый день, есть задание. Найти все файлы с определенным расширением, допустим .doc и скопировать...

0
08.08.2013, 00:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.08.2013, 00:06
Помогаю со студенческими работами здесь

Мгновенно перемещать создаваемые в одной папке файлы, в имени которых имеется слог "SB", в другую папку
Здравствуйте, дорогие программисты! Нужно решить вот такую задачку. Необходимо, чтобы вновь...

Скопировать файлы по списку из текстового файла в другую папку
В общем, есть файл, к примеру, target_files, в котором содержатся пути к файлам: ...

Скопировать из папки A в папку B файлы, которых нет в B
Скопировать из папки A в папку B файлы, которых нет в B

Скопировать из папки A в папку B файлы, которых нет в B
Скопировать из папки A в папку B файлы, которых нет в B , нужен JS


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru