批处理如何遍历当前文件夹内所有子文件夹内的pdf文件并改名
@echooffsetlocalenabledelayedexpansionfor/f"delims="%%ain('dir/b/a-d*.pdf')do(set"bn=...
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /b/a-d *.pdf') do (
set "bn=%%a"
set bn=!bn:*0=!
ren "%%~nxa" "!bn!"
)
pause>nul&exit
这个批处理能在当前文件夹内改名,但不能遍历每个文件夹,比如在E:\1文件夹下有2个子文件夹E:\1\a和E:\1\b。我的目的是把批处理放在E:\1下运行就能改a和b文件夹内的pdf文件名,请高手帮助,谢谢!!!! 展开
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /b/a-d *.pdf') do (
set "bn=%%a"
set bn=!bn:*0=!
ren "%%~nxa" "!bn!"
)
pause>nul&exit
这个批处理能在当前文件夹内改名,但不能遍历每个文件夹,比如在E:\1文件夹下有2个子文件夹E:\1\a和E:\1\b。我的目的是把批处理放在E:\1下运行就能改a和b文件夹内的pdf文件名,请高手帮助,谢谢!!!! 展开
1个回答
展开全部
不要用for /f,可以用for /r,你自己试着写写,我就不帮你了,实在不行,再问。
更多追问追答
追问
试过了不行的,麻烦帮写下吧
追答
我只帮你找到了文件夹下的pdf以及子文件夹下的pdf,但不知道你需要怎么重命名,所以你自己看着改改,或者你告诉要怎么重命名,我帮你写。以下代码会递归找到当前文件夹下及子文件夹的pdf文件的全路径
@echo off
for /r %cd% %%a in (*.pdf) do (
echo %%a
)
pause>nul&exit
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询