Извлечь на другой диск (с WinRar) из нескольких папок с командным файлом

421
mcnoob

Я хотел бы извлечь:

C: \ Материал \ Cat \ cat.rar

C: \ Материал \ Dog \ dog.rar

...

в

d: \ Stuff \ create dir Cat \ содержимое cat.rar

d: \ Stuff \ create dir Dog \ содержимое сайта dog.rar

...

После многих часов попыток (без предшествующего опыта) я остановился на этом:

FOR / D / r %% F in ("*") DO (

pushd %CD% cd %%F  FOR %%X in (*.rar *.zip) DO ( for /f "delims=\" %%a in ("%cd%") do ( echo current folder: %%~nxa  SET CURRENTFOLDER=%%~nxA "C:\Program Files (x86)\WinRAR\UnRAR.exe" x "%%X" D:\Stuff\%CURRENTFOLDER% ) ) popd ) 

Я просто не могу понять, как добавить переменную, содержащую имя текущей папки, к пути извлечения.

Любая помощь будет оценена, спасибо.

0
Попробуйте изменить путь извлечения в вашем примере на что-то вроде `" D: \ Stuff \% CURRENTFOLDER% \ "` и добавьте обратную косую черту в конец выходного каталога в вашей команде. Возможно, вам следует проверить с помощью команды `SET CURRENTFOLDER = %% ~ nA`, чтобы исключить расширение, если это тоже папка. Pimp Juice IT 6 лет назад 0

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

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