![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-11 23:56 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 重命名 以文件夹的名字 |
| 可打印版本 996 / 11 |
| 第1楼 createfree | 发表于 2010-09-11 16:26 |
| 新手上路 发帖 15 积分 16 | |
|
重命名 以文件夹的名字 搜索无果,特求
文件夹a下有很多文件夹b,c.......,b,c....文件夹下各有多个文件excel文件。 要求:将这些文件改名为其 文件夹名n.xls 效果如:b1.xls;b2.xls;b3.xls....;c1.xls;c2.xls;c3.xls.... 同时,将这些文件复制到a文件夹下 [ Last edited by createfree on 2010-9-11 at 16:29 ] |
|
| 第2楼 coldface | 发表于 2010-09-11 17:28 |
| 初级用户 发帖 70 积分 71 | |
|
关于改名的应该是这样
@echo off setlocal EnableDelayedExpansion for /f "delims=" %%a in ('dir/b/ad d:\B') do ( set a=1 for /f "delims=" %%i in ('dir/b/a-d "%%~na\*.*"') do ( ren "%%~na\%%~nxi" "%%~na!a!%%~xi" set /a a+=1 )) 附赠个解释: %~na - expands %I to a file name only %~xa - expands %I to a file extension only [ Last edited by coldface on 2010-9-11 at 17:45 ] |
|
| 第3楼 createfree | 发表于 2010-09-11 19:14 |
| 新手上路 发帖 15 积分 16 | |
|
没有作用
|
|
| 第4楼 coldface | 发表于 2010-09-11 20:42 |
| 初级用户 发帖 70 积分 71 | |
|
哦 好像是有点问题。
我修改下 [ Last edited by coldface on 2010-9-11 at 20:52 ] |
|
| 第5楼 createfree | 发表于 2010-09-11 23:14 |
| 新手上路 发帖 15 积分 16 | |
|
修改后的答案呢
|
|
| 第6楼 bozhou | 发表于 2010-09-12 01:16 |
| 初级用户 发帖 19 积分 38 | |
Originally posted by createfree at 2010-9-11 04:26 PM: WinXPSP2下多次测试通过。不知满足要求否? [ Last edited by bozhou on 2010-9-12 at 01:22 ] |
|
| 第7楼 createfree | 发表于 2010-09-12 09:44 |
| 新手上路 发帖 15 积分 16 | |
|
你们测试了的 我拿过来咋就用不起呢 没反应
感谢bozhou深夜回复 致敬 [ Last edited by createfree on 2010-9-12 at 09:46 ] |
|
| 第8楼 createfree | 发表于 2010-09-12 11:31 |
| 新手上路 发帖 15 积分 16 | |
|
敬请回复
|
|
| 第9楼 coldface | 发表于 2010-09-12 15:11 |
| 初级用户 发帖 70 积分 71 | |
|
下面这个我测试着可以:
@echo off d: cd d:\Afolder setlocal EnableDelayedExpansion for /f "delims=" %%a in ('dir/b/ad d:\Afolder') do ( set a=1 for /f "delims=" %%i in ('dir/b/a-d "%%~na\*.*"') do ( ren "%%~na\%%~nxi" "%%~na!a!%%~xi" set /a a+=1 ) move /y d:\Afolder\%%~na\*.* d:\Afolder ) 测试的时候把D盘以及d:\Afolder替换成A文件夹所在的盘符和目录 |
|
| 第10楼 createfree | 发表于 2010-09-12 16:38 |
| 新手上路 发帖 15 积分 16 | |
|
终于发现了问题
我的文件夹是以这样一种方式命名的: 1.a 2.b 要将 数字. 去掉才行 |
|
| 第11楼 bozhou | 发表于 2010-09-12 21:52 |
| 初级用户 发帖 19 积分 38 | |
Originally posted by createfree at 2010-9-12 04:38 PM: 测试依然通过啊。不过得出的结果是1.a01.xls、1.a02.xls、2.b01.xls、2.b02.xls而已。 是符合你的题目要求的啊。文件夹名+序号.扩展名。 P.S.昨晚是因为今天考试睡不着而已。 如果是不想要文件夹名的“数字加点号”先重命名文件夹即可。也是批处理。 [ Last edited by bozhou on 2010-9-12 at 21:54 ] |
|
| 第12楼 bozhou | 发表于 2010-09-12 22:11 |
| 初级用户 发帖 19 积分 38 | |
Originally posted by createfree at 2010-9-12 04:38 PM: 按新条件修改如下,已测试通过: [ Last edited by bozhou on 2010-9-12 at 22:14 ] |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |