Самое близкое решение легкого состоит в том, чтобы создать новый пакет. склонный - получают источник источник и заменяют старый восходящий поток tarball контролем. ударьте версию как соответствующую, затем восстановите, установите и надейтесь, что Вы не испортили ничто больше. Обратите внимание, что что-либо, чему была нужна определенная версия библиотеки, будет полито из шланга, и обычно замена чего-то как моно требует восстановления всего, от чего это зависит.
Во-первых, установка, с 7 zip.
Создайте a bat
файл в корне каталога, содержащего много подкаталогов с архивами внутри. Затем вставьте следующее в:
FOR /D /r %%F in ("*") DO (
pushd %CD%
cd %%F
FOR %%X in (*.rar *.zip) DO (
"C:\Program Files\7-zip\7z.exe" x "%%X"
)
popd
)
Запустите биту, и весь rar's/zips будет извлечен в папку, в которой они содержатся.
Как это работает?
ДЛЯ/D/r %% F в (" * ") ДЕЛАЮТ (
Чтобы цикл циклично выполнился через все папки в текущем каталоге и поместил путь к переменной
%%F
.
pushd %CD %
Поместите текущий каталог, что мы находимся в в память.
CD %% F
Установите папку от переменной
%%F
как текущий каталог.
FOR %%X in (*.rar *.zip) DO (
Для весь
rar
иzip
файлы в текущей папке, сделайте:
"C:\Program Files\7-zip\7z.exe" x "%%X"
Выполненный с 7 zip на файлах. Кавычки необходимы вокруг
%%X
потому что некоторые имена файлов имеют пробелы в них.
popd
Возвратитесь к предыдущему каталогу, который мы ранее сохранили в памяти.
Надежда это полезно для кого-то.
find . -name "*.zip" | while read filename; do unzip -o -d "`dirname "$filename"`" "$filename"; done;
Запускает рекурсивный поиск в текущем каталоге, находит все файлы, заканчивающиеся в .zip, затем передает это по каналу в цикл. Для каждого файла это находит, это выполняет разархивировать команду на файле с выводом, шунтируемым к каталогу файла.
У меня возникла проблема с запуском сценария из Windows Vista. Когда я запустил код, ничего не случилось. Мне нужно было быть администратором, чтобы иметь возможность запускать скрипт. Когда я щелкнул правой кнопкой мыши по файлу .bat и «запустил от имени администратора», это не сработало, потому что оно по какой-то причине запускалось в папке system32 (если я правильно помню). Чтобы решить эту проблему, просто используйте переменную среды Windows (объясняется здесь: Переменные среды Windows )% ~ dp0, чтобы вернуться в каталог, из которого был запущен сценарий.
@echo on
cd %~dp0
FOR /D /r %%F in ("*") DO (
pushd %CD%
cd %%F
FOR %%X in (*.rar *.zip) DO (
"C:\Program Files\7-zip\7z.exe" x %%X
)
popd
)
Убедитесь, что нет * .rar или * Файлы .zip находятся на том же уровне, что и сценарий. Они должны быть на один уровень ниже.
Надеюсь, этот комментарий кому-то помог.
Приведенные выше ответы работают, однако, если вы используете 64-разрядную версию Windows
и 32-разрядную версию 7-Zip
, правильный путь - C: \ Program Files (x86) \ 7-Zip
для 7-Zip. Ниже приведен сценарий, который у меня сработал.
@echo on
cd %~dp0
FOR /D /r %%F in ("*") DO ( pushd %CD% cd %%F
FOR %%X in (*.rar *.zip) DO (
"C:\Program Files (x86)\7-zip\7z.exe" x %%X
)
popd
)