![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-11 22:08 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 重命名文件为上级目录名并按规律添加序号 |
| 可打印版本 2,233 / 8 |
| 第1楼 chenwc520 | 发表于 2007-06-17 21:27 |
| 新手上路 发帖 9 积分 14 | |
|
重命名文件为上级目录名并按规律添加序号 重命名 当前目录下所有 指定的扩展名文件 为上级目录名,两个文件以上自动添加序号.
如:E:\Tencent下有以下文件 E:\Tencent\qq\w.exe E:\Tencent\qq\e.exe 用脚本自动重命名为 E:\Tencent\qq\qqa.exe E:\Tencent\qq\qqb.exe 或 E:\Tencent\qq\qq1.exe E:\Tencent\qq\qq2.exe 如果指定的扩展名只有一个文件,直接改为上级目录名相同 [ Last edited by bjsh on 2007-7-31 at 12:57 PM ] |
|
| 第2楼 lxmxn | 发表于 2007-06-18 04:35 |
| 版主 发帖 4,938 积分 11,386 | |
|
Try this
|
|
| 第3楼 chenwc520 | 发表于 2007-06-18 14:01 |
| 新手上路 发帖 9 积分 14 | |
|
谢谢版主 测试有效,我开始没说清楚,如果做成是包括子文件夹呢,应该怎么写?而且文件排序是根据什么排?
文件名也是改成它上一级目录名 [ Last edited by chenwc520 on 2007-6-18 at 02:10 PM ] |
|
| 第4楼 chenwc520 | 发表于 2007-06-18 14:17 |
| 新手上路 发帖 9 积分 14 | |
|
再问 是不是改"dir /b" 为"dir /o:n" 就是按名称(字母顺序)排序???
|
|
| 第5楼 jubailan | 发表于 2007-06-21 15:12 |
| 新手上路 发帖 6 积分 14 | |
|
@echo off
setlocal enabledelayedexpansion cls if exist my.txt del my.txt /q if exist kong.txt del kong.txt /q ::目标文件夹路径 set u=D:\bat\my2 ::选择命名方式 name1和name2两种 goto name1 ::将文件名命名为所属文件夹名称 :name1 ::循环遍历包括子文件夹的所有文件夹,获取文件夹名称 for /f "delims=" %%i in ('dir /b/ad/s %u%') do ( set a=0 set y=1 ::判断文件夹是否为空,为空则删除 dir /a /b "%%i"|findstr .>nul||set/a y=0&&echo %%i是空目录将被删除&&rd "%%i"&&echo %%i已被删除 ::如果文件夹非空,则修改文件夹下文件名称,否则进入下一个文件夹 if !y!==1 ( for /f "delims=" %%j in ('dir /b/a-d "%%i"') do ( if "%%~xj"==".abr" ( ren "%%i\%%j" "%%~ni!a!.abr" echo 重命名:%%i\%%j -----------%%~ni!a!.abr>>my.txt ) else (echo %%i\%%j不是画笔文件>>my.txt) set/a a+=1 ) ) ) goto end ::将文件名命名为所属根目录文件夹的名称 :name2 for /f "delims=" %%i in ('dir /b %u%') do ( set a= for /f "delims=" %%j in ('dir /b/a-d/s "%u%\%%i"') do ( if "%%~xj"==".abr" ( ren "%%j" "%%i!a!.abr" echo 重命名:%%j -----------%%i!a!.abr>>my.txt ) else (echo %%j不是画笔文件>>my.txt) set/a a+=1 ) ) goto end :end endlocal if exist my.txt start my.txt if exist kong.txt start kong.txt |
|
| 第6楼 jubailan | 发表于 2007-06-21 15:18 |
| 新手上路 发帖 6 积分 14 | |
|
不好意思没帮你改一下就发上来了,这个是我用来修改photoshop画笔文件(.abr)的批处理命令,因为我个人需要包含了两种修改方式,而且还包含了些当时调试用的代码,不过不影响使用,你自己看看那吧也许能有帮助,本人系初学者,万望高手指教
|
|
| 第7楼 chenwc520 | 发表于 2007-06-22 15:31 |
| 新手上路 发帖 9 积分 14 | |
|
楼上的朋友,测试过不行 楼上的朋友,测试过不行,不过还是谢谢你
|
|
| 第8楼 yywd | 发表于 2007-10-12 18:12 |
| 中级用户 发帖 130 积分 358 | |
Originally posted by jubailan at 2007-6-21 15:12: 很好用, 如能把文件名的序号0取消就更好了 |
|
| 第9楼 hhzjxss | 发表于 2010-08-20 23:35 |
| 新手上路 发帖 9 积分 12 | |
|
路过看看!
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |