![]() |
Нужна помощь в написании скрипта работы с файлами.
Доброго времени суток господа форумчане! Требуется помощь в написании скрипта. Имеем следующее : программа 3D съемки дает на выходе 32 .jpg файла в папку с рандомным названием (эта папка создается всегда в одном месте скажем в D:/Photo) . Задача состоит в том , что бы переименовать эти .jpg фалы по очереди , начиная с 0 до 31(тоесть должно получиться 0.jpg.....31.jpg) и запаковать их в архив с помощью 7zip под названием photo.zip . Заранее спасибо за помощь.
|
nik123456654321, в D:/Photo папка с рандомным названием единственная? Или надо обработать все папки? Что делать с файлами после упаковки? В каком порядке присваиваются номера (по дате/времени изменения?) Не лучше ли именовать файлы 00.jpg 01.jpg ...09.jpg 10.jpg 11.jpg... 31.jpg Куда девать файл photo.zip?
|
megaloman, Здравствуйте,спасибо , что откликнулись ! Да папка будет единственная . После упаковки файлы будут загружаться на ftp сайта (но это уже другая история :)). Номера присваиваются по дате создания я думаю (т.е. делаются последовательно 32 фото и их так же по порядку создания надо переименовывать начиная с 0 и до 31 ). С названием файлов ,к сожалению, они должны именоваться именно с 0.jpg и т.д. (это требования скрипта , который потом из них разворачивает 3D модель на сайте ). Photo.zip можно положить в туже корневую папку рядом (вместо ) папки с рандомным названием.
|
nik123456654321,
Код:
@Echo Off Конечно, размер архивного файла будет больше, но, для jpg не намного (менее процента). |
megaloman, Огромное спасибо ! Завтра буду тестировать.
|
Скрытый текст
Код:
$sRootFolder = 'C:\Мои проекты\0273\Photo' |
Iska, Спасибо !
|
Еще раз всем спасибо! Работает так , как надо.
|
К сожалению, на радостях я тупо забыл про:
Цитата:
Скрытый текст
Код:
$sRootFolder = 'C:\Мои проекты\0273\Photo' P.S. Надо же было столько возиться, чтобы сохранить оригинальные даты файлов, а потом открыть новосозданный архив в 7-Zip и внезапно обнаружить, что командлет Compress-Archive не сохраняет в архиве даты создания файлов :shocked:. |
Цитата:
|
Цитата:
Цитата:
7-Zip
Цитата:
WinRAR
Цитата:
|
Iska, Дата последнего изменения сохраняются после упаковки-восстановления 7Z, WinRar по умолчанию
При копировании меняется дата создания, дата последнего изменения сохраняется. Отсюда парадокс: дата изменения может быть меньше даты создания. Дата создания - очень ненадёжная дата. |
megaloman, всё так.
|
Цитата:
Comress-Archive этому не обучен (уже хорошо, что вообще появился такой командлет :) ), но при желании, можно состряпать функцию сохранения таких дат в доп.файл и при необходимости, аналогично восстанавливать эти даты... Но, честно говоря, не вижу в этих действиях большого смысла, по причинам озвученным выше, т.е. эти даты абсолютно ненадежны. |
Добрый день ! Обнаружился глюк в работе программы 3d съемки(с какого то момента она начала делать фото у которых не совпадает дата создания и порядковый номер фото), к счастью она присваивает имена файлов по порядку. Можно переделать скрипт , что бы он основывался не на дате создания , а переименовывал файлы с именами вида : 001_001.jpg,002_001.jpg,003_001.jpg ... 032_001.jpg в 0.jpg...31.jpg. Заранее спасибо !
|
Код:
@Echo Off |
Цитата:
Цитата:
Цитата:
|
Развлекаюсь:
Код:
@Echo Off Цитата:
Цитата:
Как бы до мерзости упростилась жизнь и сократились бы возможности поразвлечься, если бы сразу нам четко рассказывали задачу :) Цитата:
Цитата:
|
megaloman, Да , к сожалению это именно так :( Простите меня грешного я первый раз прошу помощи на форуме (на моей памяти). Задача : программа 3D съемки дает на выходе 32 .jpg файла в D:\Pfoto\папка с рандомным названием , файлы имеют название вида 001_001.jpg,002_001.jpg,003_001.jpg ... 032_001.jpg , требуется переименовать файлы по порядку 0.jpg , 1.jpg....31.jpg (т.е. 001_001.jpg в 0.jpg , 002_001.jpg в 1.jpg....032_001.jpg в 31.jpg) и сжать их в архив (с 0 сжатием т.е. -mx0)под названием photo.zip ,который должен размещаться в D:\Photo. Папку с рандомным названием после манипуляций удалить. Надеюсь я исправился :) На будущее учту свои промахи . Спасибо !
|
Цитата:
Цитата:
Цитата:
|
Код:
@Echo Off |
Тогда примерно так:
Скрытый текст
Код:
$sRootFolder = 'C:\Мои проекты\0273\Photo' Цитата:
|
megaloman, Огромное Вам спасибо за помощь и терпение ! Все работает , надеюсь больше никаких неполадок со стороны программы 3d съемки не будет .
|
Код:
$folder = gci "D:\Photo" |
Время: 18:03. |
Время: 18:03.
© OSzone.net 2001-