Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Перенос файлов из папки в папку по дате создания

Ответить
Настройки темы
CMD/BAT - [решено] Перенос файлов из папки в папку по дате создания

Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Сайт | Отправить 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%"
А второй код просто копирует файлы, но не папки старше 5 дней, пытался поправить под свои нужды но не хватает соображалки.
Код: Выделить весь код
@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
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Ага, всё увидел, спасибо большое. теперь дождаться когда папки с файлами станут старыми )))

Отправлено: 08:20, 20-05-2020 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Contributor


Сообщения: 2053
Благодарности: 1248

Профиль | Отправить PM | Цитировать


valedol_z@vk, Убейте их! Я добавил в свой код строку
Del "%BoxIn%\desktop.ini" /S /A

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 09:44, 20-05-2020 | #12



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Перенос файлов из папки в папку по дате создания

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Разложить файлы в папки по дате создания surgutfred Скриптовые языки администрирования Windows 4 01-11-2018 13:13
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




 
Переход