2015-12-28 2 views
0

Мне нужно автоматизировать процесс, создающий сценарий BATCH. Я должен сказать, что мои знания о скриптах BATCH и программировании в целом очень просты, но я пытаюсь учиться.Сценарий BATCH, разбор нескольких файлов с разными расширениями

Я получил exe-файл со следующей командной строкой:

decrypt.exe -k [key of decrypt] -f [file for decrypt] -e [extension of file with dot] 

example: decrypt.exe -k decrypt.key -f file.pdf -e .pdf 

И мне нужно, чтобы запустить его, чтобы расшифровать тысячи файлов с разными расширениями.

Моя идея - запустить скрипт на c: \ и рекурсивно разрешить ему дешифровать все файлы.

Кроме того, если файл имеет расширение .lol, мне нужно переименовать файл, удалив только это расширение, например; file.pdf.lol в файл.pdf. Это не так важно, так как я могу просто запустить новый скрипт позже.

До сих пор это то, что я получил:

FOR /R %%f IN (*.lol) DO decrypt.exe -k "decrypt.key" -f "%%f" -e "%%~xf" 

И после некоторого исследования, я нашел команду Forfiles:

FORFILES /m *.lol /s /C "decrypt.exe -k decrypt.key -f @file -e @ext" 

Я получил все расширения writted на файл .txt, так если скрипт может читать расширения из этого файла, было бы здорово, но я не могу понять, как это сделать.

Любая помощь была бы действительно оценена!

Спасибо!

ответ

0
FOR /R %%f IN (*.lol) DO ren "%%f" "%%~nf" 
FOR /R %%f IN (*.*) DO decrypt.exe -k "decrypt.key" -f "%%f" -e "%%~xf" 

должно работать на вас.

Первый должен переименовать файлы с *.lol в *, а затем второй запускает ваш decrypt в соответствии с вашим исходным кодом.

+0

Спасибо за ответ. Как насчет замены *. * На втором FOR и получения/чтения расширений, которые я хочу получить с .txt, где я получил их? было бы слишком сложно ?. Переход на каждый файл на устройстве слишком суровый :( –

+0

Если вы хотите прочитать из файла, используйте 'for/f 'delims =" %% f in (filename) do ... 'Вы должны попробовать эксперименты с копией поддерева ваших файлов данных, ради безопасности ... – Magoo

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