Вы не упоминаете тип ваших архивов, но из вашего примера я предполагаю, что вы используете 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\*
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ> Написано сверху вниз - не проверено, нет обработки ошибок, проверки параметров и т.д. - просто чтобы показать вам идею. Будьте уверены, что резервные копии и использовать на свой страх и риск.