Имя пользователя:
Пароль:
 | Правила  

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

Ответить
Настройки темы
CMD/BAT - [решено] Нужна помощь в написании скрипта работы с файлами.

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


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

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


Доброго времени суток господа форумчане! Требуется помощь в написании скрипта. Имеем следующее : программа 3D съемки дает на выходе 32 .jpg файла в папку с рандомным названием (эта папка создается всегда в одном месте скажем в D:/Photo) . Задача состоит в том , что бы переименовать эти .jpg фалы по очереди , начиная с 0 до 31(тоесть должно получиться 0.jpg.....31.jpg) и запаковать их в архив с помощью 7zip под названием photo.zip . Заранее спасибо за помощь.

Отправлено: 09:28, 20-08-2019

 

Ветеран


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

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


Цитата YuS_2:
всё равно, при любом копировании, эти даты изменяются... »
Ага. Я сначала для простоты создавал каталог в %Temp% и туда копировал по одному файлу с одновременным переименованием, потом обнаружил, что дата создания при этом меняется, стал делать по месту — аж в три прохода.

Цитата YuS_2:
да и если мне не изменяет мой склероз, они не сохраняются при извлечении из любого архива, то бишь это не Compress-Archive так работает, а файловая система... »
По умолчанию — так. Но 7-Zip умеет сохранять атрибуты дат файлов в архив (для 7z отчасти по запросу, для Zip — безусловно) и восстанавливать (безусловно), а WinRAR — как сохранять, так и восстанавливать (там более сложная логика умолчаний, приведена в справке).
7-Zip
Цитата:
-m (Set compression Method) switch

Zip

tc=[off | on] on Stores NTFS timestamps for files: Modification time, Creation time, Last access time.

7z

tm=[off | on] on Stores last Modified timestamps for files.
tc=[off | on] off Stores Creation timestamps for files.
ta=[off | on] off Stores last Access timestamps for files.
WinRAR
Цитата:
-ts[m,c,a][+,-,1] Сохранять или восстанавливать время файлов (изменения, создания, доступа)

Последний раз редактировалось Iska, 21-08-2019 в 22:58. Причина: Уточнение.

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:38, 21-08-2019 | #11



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

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


Ветеран


Contributor


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

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


Iska, Дата последнего изменения сохраняются после упаковки-восстановления 7Z, WinRar по умолчанию
При копировании меняется дата создания, дата последнего изменения сохраняется.
Отсюда парадокс: дата изменения может быть меньше даты создания.
Дата создания - очень ненадёжная дата.

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


Последний раз редактировалось megaloman, 21-08-2019 в 23:21.


Отправлено: 23:09, 21-08-2019 | #12


Ветеран


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

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


megaloman, всё так.

Отправлено: 02:26, 22-08-2019 | #13


Аватара для YuS_2

Crazy


Contributor


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

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


Цитата Iska:
Но 7-Zip умеет сохранять атрибуты дат файлов в архив (для 7z отчасти по запросу, для Zip — безусловно) и восстанавливать (безусловно), а WinRAR — как сохранять, так и восстанавливать (там более сложная логика умолчаний, приведена в справке). »
Да, это так. Архиваторы умеют сохранять/восстанавливать и дату создания, и дату доступа, при включении соответствующих опций, т.е. они сохраняют их в виде служебной информации в самих архивах и восстанавливают тоже при включении соответствующей опции и из этой именно, служебной информации... это можно проверить, сохранив одинаковый файл в два архива: один с доп.информацией по датам, другой без этой информации, при прочих равных условиях - размер у таких архивов, естественно, будет отличаться.
Comress-Archive этому не обучен (уже хорошо, что вообще появился такой командлет ), но при желании, можно состряпать функцию сохранения таких дат в доп.файл и при необходимости, аналогично восстанавливать эти даты...
Но, честно говоря, не вижу в этих действиях большого смысла, по причинам озвученным выше, т.е. эти даты абсолютно ненадежны.

-------
scio me nihil scire. Ѫ


Отправлено: 09:26, 22-08-2019 | #14


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


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

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


Добрый день ! Обнаружился глюк в работе программы 3d съемки(с какого то момента она начала делать фото у которых не совпадает дата создания и порядковый номер фото), к счастью она присваивает имена файлов по порядку. Можно переделать скрипт , что бы он основывался не на дате создания , а переименовывал файлы с именами вида : 001_001.jpg,002_001.jpg,003_001.jpg ... 032_001.jpg в 0.jpg...31.jpg. Заранее спасибо !

Отправлено: 10:29, 22-08-2019 | #15


Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo Off
	Set "FileIn=Z:\Box_In\0??_001.jpg"

	FOR %%f IN ("%FileIn%") DO (
		Set "Name=%%~nf"
		Call Set /A N=1%%Name:~0,3%%-1001
		Call Ren "%%f" "%%N%%%%~xf"
	)
Exit /B

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

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:08, 22-08-2019 | #16


Ветеран


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

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


Цитата YuS_2:
(уже хорошо, что вообще появился такой командлет »
Ну, да, не прошло и десяти лет . Или прошло?

Цитата YuS_2:
Но, честно говоря, не вижу в этих действиях большого смысла, по причинам озвученным выше, т.е. эти даты абсолютно ненадежны. »
Угу. Exif наше всё (или иной аналог).

Цитата nik123456654321:
Обнаружился глюк в работе программы 3d съемки(с какого то момента она начала делать фото у которых не совпадает дата создания и порядковый номер фото), к счастью она присваивает имена файлов по порядку. Можно переделать скрипт , что бы он основывался не на дате создания , а переименовывал файлы с именами вида : 001_001.jpg,002_001.jpg,003_001.jpg ... 032_001.jpg в 0.jpg...31.jpg. »
[Iska бьётся головой о стену].

Отправлено: 11:21, 22-08-2019 | #17


Ветеран


Contributor


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

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


Развлекаюсь:
Код: Выделить весь код
@Echo Off
	Set "BoxIn=Z:\Box_In"

	FOR /L %%i IN (1001,1,1032) DO (
		Set /A N=%%i
		Set /A M=%%i-1001
		Call Ren "%BoxIn%\%%N:~1,3%%_001.jpg" "%%M%%.jpg"||Call Echo "%BoxIn%\%%N:~1,3%%_001.jpg"
	)
Exit /B
Цитата nik123456654321:
переименовывал файлы с именами вида : 001_001.jpg,002_001.jpg,003_001.jpg ... 032_001.jpg в 0.jpg...31.jpg »
Имхо, затем последует
Цитата nik123456654321:
программа 3D съемки дает на выходе 32 .jpg файла в папку с рандомным название »
и надо будет придумать, как это сделать.
Как бы до мерзости упростилась жизнь и сократились бы возможности поразвлечься, если бы сразу нам четко рассказывали задачу
Цитата Iska:
[Iska бьётся головой о стену]. »
Цитата:
И тогда главврач Маргулис тиливизер запретил

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


Последний раз редактировалось megaloman, 22-08-2019 в 11:43.

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:27, 22-08-2019 | #18


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


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

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


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. Папку с рандомным названием после манипуляций удалить. Надеюсь я исправился На будущее учту свои промахи . Спасибо !

Отправлено: 11:54, 22-08-2019 | #19


Аватара для YuS_2

Crazy


Contributor


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

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


Цитата Iska:
Или прошло? »
Даже больше...
Цитата:
Впервые публично язык был продемонстрирован на Профессиональной конференции разработчиков (англ. Professional Developers Conference, PDC) в сентябре 2003 года под кодовым названием Monad.

Цитата Iska:
Exif наше всё (или иной аналог). »
С EXIF тоже не всё так радужно, остались ещё устройства, которые и не думают писать эту инфу, а именно дату... да и пользователи не всегда настраивают её так, чтобы она не показывала начало прошлого века, например.

-------
scio me nihil scire. Ѫ


Отправлено: 12:41, 22-08-2019 | #20



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Помощь в написании скрипта.. Boris81G Программирование в *nix 1 09-10-2015 12:46
PowerShell - Помощь в написании скрипта IVa_ Скриптовые языки администрирования Windows 3 10-07-2015 14:12
VBS/WSH/JS - Нужна помощь в написании скрипта автологина через веб-форму сайта Rampages Скриптовые языки администрирования Windows 4 08-03-2014 04:50
Нужна снова ваша помощь в написании интересного скрипта Magnus Вебмастеру 2 09-06-2005 20:26
Нужна помощь в написании скрипта Magnus Вебмастеру 7 06-05-2005 10:53




 
Переход