У меня есть несколько архивных файлов, и в каждом файле есть подпапка. Я хочу переместить файлы из подпапок в корневую папку архивных файлов и удалить подпапки.

например:

in lossless.rar
\my music\love.mp3
--->
\love.mp3

Надеюсь, кто-то знает решение. Спасибо.

1 ответ1

0

Вы не упоминаете тип ваших архивов, но из вашего примера я предполагаю, что вы используете RAR-файлы в Windows.

Сначала вы должны создать временную папку (например, C:\TempDir), где вы будете делать свою работу.

После этого вы можете использовать следующую процедуру:

  • Извлеките все файлы без их путей в TempDir:

rar e lossless.rar C:\TempDir\

  • удалить оригинальный архив: (ОБЯЗАТЕЛЬНО ИМЕЙТЕ РЕЗЕРВНОЕ КОПИРОВАНИЕ!)

del /Q lossless.rar

  • добавьте файлы обратно без указания пути: (в противном случае в вашем архиве окажется c:\tempDir, и вы этого не захотите)

rar a -ep lossless.rar c:\TempDir\*

Конечно, если у вас много архивов, вы можете автоматизировать вышеуказанные шаги, поместив их в командный файл (например, RemoveRarPaths.cmd) и в качестве параметра укажите имя архива. Затем вы можете использовать его с RemoveRarPaths.cmd myRar.rar или более мощным: RemoveRarPaths *.rar

Для вашего удобства командный файл должен выглядеть примерно так:

rar e %1 c:\tempDir\
del /Q %1
rar a -ep %1 c:\tempDir\*

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ> Написано сверху вниз - не проверено, нет обработки ошибок, проверки параметров и т.д. - просто чтобы показать вам идею. Будьте уверены, что резервные копии и использовать на свой страх и риск.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .