怎样实现批量重命名文件名为父文件夹名字加序号

 我来答
因为爱vdF
2013-12-15 · TA获得超过126个赞
知道答主
回答量:173
采纳率:0%
帮助的人:98.1万
展开全部
我们知道在批处理中要批量处理的话,那肯定是少不了用for命令的。 现在我们把他的要求分解成两部分 1、先用dir命令把所有要进行重命名的文件的全路径列出来发送到一个临时的文本文件。 (供下面的for语句来读取) 2、用for命令来读取那个由dir命令生成的列表文件 a、在循环的过程中取得上级文件夹名 b、取得文件名 c、ren "源文件名" "上级文件夹名文件名" 上面就是伪代码,接下来是批处理的实现代码@echo offrem 生成临时列表文件 dir d:\*.txt /s /a-d /btmp.txt rem 用for命令来读取那个由dir命令生成的列表文件 FOR /F "tokens=*" %%a IN ( 'more tmp.txt') DO (rem 用Setlocal来启用环境变量延迟功能 Setlocal EnableDelayedExpansion rem 取得路径包括了最后一个斜线\ set tempPath=%%~dpa rem 把路径中的最后一个斜线去掉 set tempPath=!tempPath:~,-1! rem 在for命令中来扩展取得路径名 FOR %%A IN ( "!tempPath!") DO (rem 扩展取得上级目录名 set filePath=%%~nA rem 新的文件名为: 上级目录名文件名 set new_name=!filePath!%%~nxa rem 重命名文件名(为了安全,这里只是用echo把命名的 rem 语句显示出来) rem 如果要进行重命名的话,把echo 去掉就可以了 echo ren "%%a" "!new_name!")ENDLOCAL)rem 删除临时文件
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式