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

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

Ответить
Настройки темы
PowerShell - Копирование файлов по дате
nse nse вне форума

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


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

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


Изменения
Автор: nse
Дата: 20-06-2018
Описание: перемещение в другой раздел
Уважаемые форумчане! подскажите пожалуйста, есть ли возможность через power shell сделать следующее
Есть папка1 с множеством файлов *.7z (ежедневные бэкапы)
Как скопировать файлы первого числа каждого месяца в папку2
Условием отбора должна служить дата ИЗМЕНЕНИЯ файлов

Отправлено: 02:04, 20-06-2018

 

Ветеран


Contributor


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

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


В принципе можно и CMD
Решаю задачу: Если за день создаётся несколько файлов бэкапов с разными именами, копирую все файлы, самые старые по дате изменения в каждом месяце. Если самая старая дата изменения файлов в месяце не 01, а например, 05, будут скопированы файлы за 05 число
Код: Выделить весь код
@Echo Off
	Set "BoxIn=D:\CMD_Forum"
	Set "MaskIn=*.7z"
 
	Set "BoxOut=Z:\Box_Out" 

	Pushd "%BoxIn%"
	Set "FMes= "
	Set "FDay= "
	FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%MaskIn%" /B /A:-D /O:D /T:W`) DO Call :CopyFirst "%%f" %%~tf  
	Popd
GoTo :Eof

:CopyFirst
	Set "Mes=%2"
	Set "Mes=%Mes:~-7%"
	If Not "%Fmes%"=="%Mes%" (
		Set "FDay=%2"
		Set "FMes=%Mes%"
	)
	If "%FDay%"=="%2" If Not Exist "%BoxOut%\%~1" Echo %1 &Copy %1 "%BoxOut%\" >nul
GoTo :Eof
Если скрипт предполагается выполнять многократно, то, чтобы избежать повторного копирования, перед Copy лучше поставить проверку на существование файла в выходной папке
Код: Выделить весь код
rem	Copy %1 "%BoxOut%\" >nul
	If Not Exist "%BoxOut%\%~1" Echo %1 &Copy %1 "%BoxOut%\" >nul
Примечание: отображение месяца и года в системе должны быть мм гггг

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


Отправлено: 21:32, 20-06-2018 | #11



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

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



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Копирование файлов по дате Fantastish Скриптовые языки администрирования Windows 20 22-03-2023 11:33
Прочие - [решено] Сортирование файлов по папкам (копирование по дате создания) DIMM2005 Программное обеспечение Windows 36 03-01-2020 16:54
CMD/BAT - Выборка по дате и копирование файлов TiroEL Скриптовые языки администрирования Windows 2 17-08-2015 09:27
CMD/BAT - Сортирование файлов по папкам (копирование в многоуровневые папки по дате создания) Systems Скриптовые языки администрирования Windows 18 03-10-2014 11:37
CMD/BAT - [решено] Копирование файлов по дате создания Syna Скриптовые языки администрирования Windows 27 23-05-2013 14:02




 
Переход