crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Тема закрытаНачать новую тему
> Переименовать файл в zip архиве..., Как бы это сделать на халяву?
ViGOur
  опции профиля:
сообщение 26.8.2009, 15:00
Сообщение #1


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Есть ZIP архивы, примерно за 100 000 штук, в них есть файлы, нужно поменять их названия (тоесть поменять названия файлов в архиве, а не архивов).
Вот и думаю, как бы это сделать совсем на халяву, чтобы долго морочиться не пришлось, так как это разово нужно сделать...

Руками переименовывать не предлагать! :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 26.8.2009, 15:15
Сообщение #2


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


ViGOur,
что за система? если линь то скриптом замутить можна.
по какому принципу файлы переименовываются?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 26.8.2009, 15:26
Сообщение #3


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Винда. :(
Файлы переименовываются по принципу, какое название архива, такое же название файла (разумеется расширения разные).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 26.8.2009, 15:56
Сообщение #4


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


ViGOur,
то есть если в архиве ar.zip файлы
help.html
img.jpg
any.txt
то будет
ar.html
ar.txt
ar.jpg

а если
в архиве ar.zip
help.txt
any.txt
book.txt
???

и под рукой нет линя что ли?
ну что то под такую задачу прогу писать как то не кашерно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 26.8.2009, 16:08
Сообщение #5


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Да там все просто, обычно в архиве один файл, а если не один, то расширения разные.
Линя нет под рукой, так как на работе его не особо жалуют. :(

Под линем как сделать хоть, установлю ради этого или домой сношу... :)))


А то, что ради этого что-то писать не кашерно, это точно!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 26.8.2009, 16:15
Сообщение #6


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Цитата(ViGOur @ 26.8.2009, 17:08) *
Под линем как сделать хоть,

bash набор операторов for if else + mv
кладешь архивы в один каталог
получаешь список архивов
читаешь ман по зипу как там изменить имя в архиве если нет такого то разархивировать в темп папку изменить имя и заархивировать снова.
в принципе не сложно на вскидку.
как то так.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 26.8.2009, 16:25
Сообщение #7


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Ну до этого я и сам дошел, это можно и в винде сделать.
Но это уже получается не совсем на халяву! :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 26.8.2009, 16:33
Сообщение #8


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(ViGOur @ 26.8.2009, 17:25) *
Ну до этого я и сам дошел, это можно и в винде сделать.
Но это уже получается не совсем на халяву! :)

:) +100! :)

P.S. Простите за оффтоп!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 26.8.2009, 16:33
Сообщение #9


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


ViGOur,
чет ни пойму куда же проще.
:mellow:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 26.8.2009, 17:00
Сообщение #10


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Правду говорят, глаза боятся руки делают, оказывается ничего сложного нет, вот что получилось:
echo off
cls
FOR /F "usebackq delims==" %%a IN (`dir /B *.zip`) DO (
    wzunzip -e %%~na.zip .\temp\
    FOR /F "usebackq delims==" %%i IN (`dir /B .\temp`) DO (
        @echo Compress file %%i ...
        move .\temp\%%i .\temp\new_%%~na%%~xi
        wzzip -a -m -ee .\new_%%~na.zip .\temp\new_%%~na%%~xi
    )

)
только работу я проверял на winzip 12.1 с аддином для работы с командной строкой, не знаю будет работать с другой версией или нет.

Всем спасибо, тема закрыта. :)

Сообщение отредактировал ViGOur - 26.8.2009, 16:59
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Тема закрытаНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.3.2024, 4:30