2015-11-10 2 views
0

Итак, я работаю над несколькими пакетными программами, и мне нужно знать, как перебирать все файлы, включая файлы внутри подпапок. Однако я не смог этого сделать. Одна из этих программ, которая требует этого, - это команда «certutil -encode», которая кодирует все файлы в этой папке и подпапках и декодирует команду «certutil -decode», и вот код, который я получил до сих пор (этот код в цикле):Пакетный цикл через все файлы и подпапки

set file=C:\Extras\Encode\*.txt 
certutil -encode C:\Extras\Encode\*.txt C:\Extras\Encoded\*.b64 

Однако это не работает, так как он только петли через C: \ Extras \ Encode, но не испытывает для тех внутри подпапок, как C: \ Extras \ Encode \ подпапки \, а что мне делать?

EDIT: Я знаю, что вторая часть с выходом C: \ Extras \ Encoded * .hex неверна.

+0

Посмотрите на 'for/R', чтобы циклически перебирать дерево каталогов; 'for/R/D' умирает одинаково, но перечисляет все каталоги, а не файлы; введите 'for /?' в командной строке для подробностей ... – aschipfl

ответ

2

В общем,

for /f "delims=" %%a in ('dir /s /b "C:\extras\encode\*.txt"') do echo %%a 

должен обеспечивать %% А с каждым файлом, совпадающим с маской в ​​поддереве. Вы можете использовать модифицированные ссылки %% ~ da %% ~ pa %% ~ na %% ~ xa %% ~ dpnxa для диска, пути, имени, расширения или все-в-комбинации, как вы.

Информация будет отличаться в зависимости от приложения.

+0

Это получилось отлично, за исключением случаев, когда я это делаю, он устанавливает %% a как несколько файлов и использование «certutil -encode» невозможно, так как это слишком много аргументов для этого сразу обращаться, как мне обойти это? Должен ли я опубликовать это как еще один вопрос? – DragonZeith

+0

Я не эксперт в 'certutil' - я никогда не использовал его. Возможно, вместо 'echo %% a' вы можете попробовать' certutil -encode C: \ Extras \ Encode \ %% ~ na.txt C: \ Extras \ Encoded \ %% ~ na.b64', который должен запускать другой ' certutil' для каждого файла. Кажется, нет возможности предоставить 'certutil' список файлов. Сначала запустите на маленьком подмножестве, чтобы посмотреть, как это происходит. '%% ~ na' означает имя-часть' %% a'. Вы можете захотеть '%% ~ nxa', что означает имя + расширение' %% a'. – Magoo

Смежные вопросы