|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Перенос файлов из папки в папку по дате создания |
|
CMD/BAT - [решено] Перенос файлов из папки в папку по дате создания
|
Новый участник Сообщения: 6 |
Профиль | Сайт | Отправить PM | Цитировать Доброго времени, подскажите с кодом:
Задача, в папке C:\In\ есть много папок с файлами, необходимо перенести папки с файлами старше 14 дней в папку C:\Old\ Нашёл два скрипта: один просто переносит всё из папки 1 в папку 2, он рабочий: @echo off set In=D:\0\1 set Out=D:\0\2 echo %%j :start for /f "delims=" %%a in ('dir "%In%\*.*" /b/s 2^>nul') do move /y "%%a" "%Out%" @Echo Off SetLocal EnableDelayedExpansion Set folder=D:\0\1 Set old=5 For /F "Tokens=1 Delims=." %%i In ('WMIC OS Get LocalDateTime^|Find "."') Do Set tim=%%i Set YYYY=%tim:~0,4%&Set MM=%tim:~4,2%&Set DD=%tim:~6,2% ::Call :formatMM_DD Echo Now %DD% %MM% %YYYY% Call :GetOldDate %old% Echo Old %DD% %MM% %YYYY% For /F "delims=" %%a In ('dir /A:-D /T:C /O:D "%folder%" ^| Findstr /E /c:".txt" /c:".xml"') Do ( Set ta=%%a Set name=!ta:~36!& Set dat=!ta:~6,4!!ta:~3,2!!ta:~0,2! If %YYYY%%MM%%DD% GTR !dat! (Echo Copy !dat! %folder%\!name!) Else Echo Not copy !dat! %folder%\!name! ) Pause Exit :GetOldDate Set /A DD-=%1 If %DD% GTR 0 GoTo formatMM_DD Set /A MM=MM+11-((MM+10)/12)*12 If %MM%==12 Set /A YYYY-=1 For /F "Tokens=%MM%" %%i In ("31 28 31 30 31 30 31 31 30 31 30 31") Do Set X=%%i If %MM%==2 ( Set /A B1=YYYY%%4, B2=YYYY%%100, B3=YYYY%%400 If !B1!==0 If Not !B2!==0 Set /A X+=1 If !B3!==0 Set /A X+=1 ) Set /A DD=DD+X-((DD+X-1)/X)*X :formatMM_DD Set MM=0%MM%&Set DD=0%DD% Set MM=%MM:~-2%&Set DD=%DD:~-2% GoTo :EOF |
|
Отправлено: 14:36, 14-05-2020 |
Новый участник Сообщения: 6
|
Профиль | Сайт | Отправить PM | Цитировать Ага, всё увидел, спасибо большое. теперь дождаться когда папки с файлами станут старыми )))
|
Отправлено: 08:20, 20-05-2020 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2703
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 09:44, 20-05-2020 | #12 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Разложить файлы в папки по дате создания | surgutfred | Скриптовые языки администрирования Windows | 7 | 12-03-2024 16:22 | |
CMD/BAT - Сортирование файлов по папкам (копирование в многоуровневые папки по дате создания) | Systems | Скриптовые языки администрирования Windows | 18 | 03-10-2014 11:37 | |
CMD/BAT - [решено] Копирование файлов по дате создания | Syna | Скриптовые языки администрирования Windows | 27 | 23-05-2013 14:02 | |
CMD/BAT - Переименование группы файлов по дате создания | Serg2010 | Скриптовые языки администрирования Windows | 8 | 14-04-2012 00:40 | |
Переименование группы файлов по дате создания | Serg2010 | AutoIt | 1 | 10-04-2012 10:25 |
|