标题: [文本处理] 求助批处理遍历文件夹下所有子文件,并执行命令 [打印本页]
作者: 824297579 时间: 2023-6-28 09:13 标题: 求助批处理遍历文件夹下所有子文件,并执行命令
遍历此文件夹下所有子文件目录下的pdf文件,并将文件改名,这个文件夹下边有六个子文件夹,每个子文件夹下面都有pdf,然后执行改名命令,一共很多命令都要执行一次,如:ren *F00010001#01不动产权籍调查表.pdf *F99990001#01不动产权籍调查表.pdf
ren *F00010001#02个人身份证.pdf *F99990001#02个人身份证.pdf,这个是档案资料整理的,因为每个文件夹下的文件都不一样,所以想做一个遍历所有文件夹下边的文件,然后再执行一个操作的命令,
作者: Batcher 时间: 2023-6-28 09:30
回复 1# 824297579
请参考Q-04把bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA- @echo off
- cd /d "%~dp0"
- for /f "delims=" %%i in ('dir /b /ad') do (
- echo 正在处理子文件夹 %%i
- pushd "%%i"
- REM 把你的 ren 命令放在下面
-
- popd
- )
复制代码
作者: 824297579 时间: 2023-6-28 09:59
回复 2# Batcher
感谢,但是你这个是在本文件夹的下级文件夹执行,我用一级目录下可以改名,但是这个要求是在二级文件夹下的操作,如:新建文件夹\431024009010JC05673F99990001#欧振保 在这个路径下没问题,但是这个路径下还有文件夹,如:新建文件夹\431024009010JC05673F99990001#欧振保\01不动产权籍调查表、新建文件夹\431024009010JC05673F99990001#欧振保\02身份证明材料,是这个样子的,如何在文件夹下,所有子目录下的文件夹进行操作
作者: Batcher 时间: 2023-6-28 10:11
回复 3# 824297579 - @echo off
- cd /d "%~dp0"
- for /f "delims=" %%i in ('dir /b /s /ad') do (
- echo 正在处理子文件夹 %%i
- pushd "%%i"
- if exist "*.pdf" (
- REM 把你的 ren 命令放在下面
-
- )
- popd
- )
复制代码
作者: 824297579 时间: 2023-6-28 10:22
回复 4# Batcher
谢谢,完美解决了,但是有个疑问,这个得用if去判断,可不可以在cd这块直接进入子文件夹呢?
作者: Batcher 时间: 2023-6-28 10:26
回复 5# 824297579
请亲自测试一下吧,遇到问题咱们再继续讨论。
作者: 824297579 时间: 2023-6-28 11:12
回复 6# Batcher
如果是在所有不同名称下新建文件夹,还需要怎么更改,如:一级文件夹\二级文件夹\三级文件夹,第一级是每户的编码,第二级是每户材料分类,然后建立第三级文件夹,因为每户的编码不同,如何在每个文件夹名称不同,二级文件夹名不同或者相同,的情况下建立三级文件夹呢
作者: Batcher 时间: 2023-6-28 11:19
回复 7# 824297579
你给例子:
新建文件夹\431024009010JC05673F99990001#欧振保\01不动产权籍调查表
哪个是一级?哪个是二级?
bat脚本放在哪个文件夹下执行?
作者: 824297579 时间: 2023-6-28 11:27
回复 8# Batcher
脚本在新建文件夹里边,新建的文件夹在”01不动产权籍调查表“里边,要对几百户的这个文件夹里边创建多个文件夹
作者: Batcher 时间: 2023-6-28 11:43
回复 9# 824297579 - @echo off
- cd /d "%~dp0"
- for /f "delims=" %%i in ('dir /b /ad') do (
- echo 一级子文件夹 %%i
- pushd "%%i"
- for /f "delims=" %%j in ('dir /b /ad') do (
- echo 二级子文件夹 %%j
- REM 新建三级子文件夹的命令放在下面
- md "%%j\三级子文件夹"
- )
- popd
- )
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |