Пакетный файл l oop через папки - PullRequest
0 голосов
/ 20 марта 2020

У меня есть пакетный файл, который отлично работает, когда PDF-документы находятся в той же папке / папке, что и BAT-файл. Проблема, с которой я столкнулся, заключается в том, что мне также нужно, чтобы она работала с подпапками, которые недавно были добавлены в основную папку.

Вот мой код:

@ECHO OFF

setlocal EnableDelayedExpansion
md out
for /f %%G in ('dir /b "*.pdf"') do (
    for /f "delims=$ tokens=1*" %%H in ("%%~nG") do set "partial_filename=%%~I"
    call:_pwgen passwd
    set FULLNAME=%%G
    set ENDTEXT=!FULLNAME:*$=!
    call set TRIMMEDNAME=%%FULLNAME:!ENDTEXT!=%%
    pdftk %%G output out/!TRIMMEDNAME:~0,-1!.pdf user_pw !passwd!
)

goto :EOF

:_pwgen passwd
setlocal ENABLEEXTENSIONS
set passwd=%~1
set _count=0:_loop
set /a _count+=1
set passwd=!partial_filename!
endlocal&set %~1=%passwd%

GOTO:EOF

Я пытался замените первое для на

set cd="C:\Users\Folder name"
for /r !cd! %%G in ("*.pdf") do (

, но во вложенных папках есть пробелы, поэтому файл .bat ничего не генерирует.

Любая помощь будет потрясающей.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...