批处理:批量重命名父文件夹下所有子文件夹里的文件

批处理:批量重命名父文件夹下所有子文件夹里的文件1.把父文件夹里的所有文件夹里面的图片进行重命名2.因文件名当中含有如001-1此类命名的文件,如:000、000-1、0... 批处理:批量重命名父文件夹下所有子文件夹里的文件1.把父文件夹里的所有文件夹里面的图片进行重命名
2.因文件名当中含有如001-1此类命名的文件,如:000、000-1、001 改成000 、001、002
3.图片格式为tif和jpg
求具体代码……
展开
 我来答
刺友互
高粉答主

2020-01-09 · 每个回答都超有意思的
知道答主
回答量:3979
采纳率:100%
帮助的人:68.4万
展开全部

1、找出需要整理的文件。

2、然后在空白位置新建一个txt文档,命名为“文件重命名”。

3、打开文本文档,并复制下面代码,保存,退出。

4、右键刚刚创建好的文本文档,修改扩展名为(.bat)。

5、保存好后双击它,出现DOS命令框,并能看到文件是按一定顺序排序显示的。

6、按照提示,按下任意键,就能看到文件按时间顺序从1升序重命名了所有文件,除了批处理文本自身。

注意事项:

批处理文件的扩展名为bat 。目前比较常见的批处理包含两类:DOS批处理和PS批处理。PS批处理是基于强大的图片编辑软件Photoshop的,用来批量处理图片的脚本;而DOS批处理则是基于DOS命令的,用来自动地批量地执行DOS命令以实现特定操作的脚本。

nameyu8023
2018-03-23 · TA获得超过528个赞
知道小有建树答主
回答量:640
采纳率:68%
帮助的人:404万
展开全部
@echo off
setlocal enabledelayedexpansion

set pd="C:\Users\shanghai\Desktop\新建文件夹"
set key=*.tif *.jpg


set count=0
pushd %pd%
for /f "delims=" %%a in ('dir /a-d/b/s %key%') do (
    set /a count+=1
    call :format !count! 5 0
    echo [%%~nxa]^>^>[!strtmp!%%~xa ] [!count!]
    ren "%%~a" !strtmp!%%~xa 
)
pause&exit


::格式化序列 %1 = end ,%2 = end , %3=fill, ret = strtmp
:format
set _p=
set _num_1=%~1
set _num_2_len=%2

call :numlen !_num_1!
set _num_1_len=!numlen!
set /a _num_len=!_num_2_len!-!_num_1_len!

for /l %%a in (1,1,!_num_len!) do set _p=%3!_p!
set strtmp=!_p!%~1
goto :eof


::计算长度 pat=str,ret=numlen
:numlen
if %1 lss 10 set numlen=1&&goto :eof
if %1 lss 100 set numlen=2&&goto :eof
if %1 lss 1000 set numlen=3&&goto :eof
if %1 lss 10000 set numlen=4&&goto :eof
if %1 lss 100000 set numlen=5&&goto :eof
if %1 lss 1000000 set numlen=6&&goto :eof
set numlen=9
goto :eof

以前写别的代码改的,将就用吧。
追问
能不能简单点
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
折柳成萌
高粉答主

2018-03-23 · 繁杂信息太多,你要学会辨别
知道顶级答主
回答量:4.4万
采纳率:96%
帮助的人:6040万
展开全部
这个问题可以用软件Replace Pioneer的批量重命名功能实现,详细步骤:
1. 由于当前版本2.65只支持搜索文件,不支持搜索目录,所以首先需要自己生成一个所有子目录的列表,假设父目录是c:\知道,这需要进到Dos提示符下,运行:
c:
cd \知道
dir /s/b /ad >list.txt
2. 打开Replace Pioneer的Tools->Batch Runner菜单,点击Import List按钮,把上一步生成的list.txt导入
3. 当前屏幕上列表中有Sequ, Input File和Output File三列,拖动水平滚动条,把右边的Input Directory一列显示出来,点击Input Directory列的抬头两次,使得目录名按照反序(v)排列(即保证子目录排在父目录前面),这步是必需的,否则父目录先改名后,子目录名字就不对了。
4. 选中Set output filename选项,把后面的${FILENAME}改为:
#<replace(decode($sys_encoding,getcwd()),'.*?:|\/|\\\\','')>${FILENAME}
以上公式是在文件名前面加目录(并把盘符和目录符号/去掉)
5. 观察output file一列新文件夹名是否正确,点击File Rename即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梅潭映月
2018-03-23 · TA获得超过669个赞
知道小有建树答主
回答量:756
采纳率:74%
帮助的人:284万
展开全部
全选文件夹里的文件,然后重命名呀,全选后把鼠标放到第一个文件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
胖成球钱的兔兔
2018-03-23 · TA获得超过1765个赞
知道答主
回答量:8
采纳率:0%
帮助的人:3.1万
展开全部
Total commander 软件 有这个功能,可以免费下载的轻量级软件,不会操作可以私我
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式