Распакуйте несколько файлов в несколько подпапок

648
Chris Jackson

У меня есть несколько заархивированных файлов (.rar, .zip), распределенных по нескольким подпапкам, но все в одной базовой папке (F: \ 1).

Мне было интересно, есть ли способ разархивировать каждый файл, сохраняя при этом его оригинальное имя (zip file.zip превратится в файл F: \ 1 \ zipped).

И, если возможно, удалите оригинальный zip-файл, просто сохранив распакованную папку.

Есть ли способ сделать это с помощью командного файла, чтобы мне не приходилось делать каждую папку одновременно?

Спасибо, парни :)

0

1 ответ на вопрос

0
LotPings

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

:: Expand-Archive.cmd ::::::::::::::::::::::::::::::::::::::::::::::::::::: @Echo off&SetLocal EnableExtensions Set Base=F:\1 if exist "%~1" Set "Base=%~f1" Pushd %Base% ||(Echo Can't cd to base folder %base% &Pause&Exit) For /f "delims=" %%A in ('Dir /B/S/A-D *.zip *.rar') Do Call :Expand "%%A" PopD Goto :Eof  :Expand Set "_Folder=%~dp1" PushD "%_Folder%" Set "_Archive=%~nx1" Set "_NewSubFolder=%~dpn1" :: Your own code to expand the Archive goes here. :: I don't know what tool (7zip Infozip etc.) you usually use. :: :: with 7z somewhere in your path this might work, :: remove Echo in the following 2 Lines. Echo MkDir "%_NewSubFolder%" Echo 7z x -O"%_NewSubFolder%" "%_Archive%" && Del "%_Archive%" PopD Goto :Eof :: Expand-Archive.cmd ::::::::::::::::::::::::::::::::::::::::::::::::::::: 

НТН

Похожие вопросы