![]() |
Доработать скрипт копирования файлов изображений
Добрый день
Прошу помощи в доработке скрипта. Нужно добавить возможность, чтобы при копировании файлов изображений, они складывались в отдельные папки с датой. Например файл имеет имя 2019-01-15_151941, нужно создать папку 2019.01.15 и положить туда этот файл. Сейчас скрипт копирует файлы в одну кучу. Текст скрипта ниже. Заранее спасибо всем Код:
Set-ExecutionPolicy UnRestricted |
Не знаю как в Повершеле, но в обычном bat это делается так(найдено на просторах интернетов):
Код:
@echo off |
Copy-Item $File.FullName $Dest1ToDest2 -Force
Вот эта часть кода отвечает за копирование в папку. Пробовал дописать, чтобы создавалась папка с датой файла Get-ChildItem -File | Copy-Item -Destination { md ("C:\Files\" + $_.LastWriteTime.ToString("yyyy.MM.dd")) -Force} не работает ((( |
Цитата:
Сформулируйте, по пунктам, всю задачу, которую Вы хотите решить. |
Есть папка, в которую каждый день складываются скриншоты. необходимо написать скрипт, который будет копировать каждый день эти скриншоты в другую папку по сети, раскладывая их в папки по дате создания. Скриншоты будут хранится n-время, чтобы каждый раз не копировать все файлы, нужна проверка по дате, чтобы копировались только новые
|
Цитата:
Если дата из параметров файла, то: 1. Дата создания файла после копирования станет текущей, т.е. будет изменена по правилам файловой системы, в новом, скопированном файле. 2. Если требуется сохранение даты, то использовать необходимо дату последнего изменения, она при копировании не изменяется. Если дата из названия файла, то: 1. Всегда ли формат даты единый? 2. Какой именно формат присутствует? Цитата:
|
Дату можно брать из названия файла. Формат даты 2019-01-20 , единый
|
Цитата:
2019-01-20.jpg Ок, примем за формат имен файлов это: Цитата:
тогда скрипт будет примерно таким: Код:
$src = 'TEST1' |
файл имеет имя 2019-01-15_151941 »
т.е. yyyy-MM-dd_HHmmss Да всё верно, добавляется еще время создания файла Спасибо, Ваш скрипт проверил, работает |
Цитата:
Цитата:
Можно регуляркой отрезать "лишнее" из имени файла и оставить только дату, можно брать дату из параметра файла LastWriteTime... в общем, это только Вам решать, что требуется. Да, речь идет именно об использовании даты для создания целевых каталогов. Но тут другое интересует... В том скрипте, который Вы приводили выше, присутствует такая запись: Цитата:
Если это требуется, то можно реализовать, но в этой проверке будут сравниваться только LastWriteTime, ибо проверка на "свежесть" наиболее корректна будет именно по этой дате... |
да, все верно
Если я правильно понял, то при наличии одноименного файла в целевом каталоге, требуется проверка на "свежесть" файла? Это в моем скрипте не реализовано. Если это требуется, то можно реализовать, но в этой проверке будут сравниваться только LastWriteTime, ибо проверка на "свежесть" наиболее корректна будет именно по этой дате... Да, в этом скрипте есть проверка на свежесть. Если не затруднит. доработайте ваш скрипт с этим условием |
Цитата:
|
Огромное спасибо
|
Время: 18:09. |
Время: 18:09.
© OSzone.net 2001-