我有一个批处理文件,当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文件不会生成任何东西。
任何帮助都会很棒。
谢谢!