Как применить эту команду к подпапкам?

bzip2.exe -z compressfolder/*.*

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

2 ответа

Это сожмет каждый файл в сжатой папке, рекурсивно:

for /r .\compressfolder %%a IN (*.*) do bzip2 -z %%a

for /r вернется в каждую подпапку.\compressfolder. %%a содержит каждый файл, указанный *.*и следующая часть do работает bzip2 на каждом файле. В приведенных выше примерах предполагается, что вы запустите это из родительской папки в папку сжатия. Поместите строку в пакетный файл, например. bzip2all.bat и запустите его.

Вам лучше использовать утилиту "найти", однако я не уверен, что она доступна в Windows в среде posix.

Тем не мение:

find compressfolder -type f -print0 | xargs -0 -n 1 bzip2 -z

Эта команда в любой системе * nix найдет каждый обычный файл в "compressfolder" и запустит "bzip2 -z" для каждого из файлов. Если вы используете Cygwin или Mingw (как я полагаю), он должен работать и на Windows.

Другие вопросы по тегам