中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-25 01:02
47,813 主题排行 / 349,918 发帖 / 今日 1 篇 / 48,274 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何为多个子目录中的txt批量改文件扩展名.
可打印版本  2,671 / 22
第1楼 zzhh612 发表于 2007-03-30 13:04
中级用户 发帖 103 积分 278
如何为多个子目录中的txt批量改文件扩展名.
在一个目录下的若干个子目录中有许多以文本方式保存的C代码.
我怎样才能用一个批处理将这些以TXT为扩展名的代码文档变成以.C为扩展名的C源文件.

[ Last edited by zzhh612 on 2007-3-31 at 01:48 AM ]
第2楼 flyinspace 发表于 2007-03-30 13:14
银牌会员 发帖 517 积分 1,206
哦。很简单啊。。
第3楼 flyinspace 发表于 2007-03-30 13:16
银牌会员 发帖 517 积分 1,206
@echo off
dir /b /a *.txt>1.txt
for /f "tokens=1,2 delims=. " %%i in (1.txt) do ren %%i.txt %%i.c
第4楼 MagiCube 发表于 2007-03-30 13:31
新手上路 发帖 2 积分 4
在XP下面,用命令ren *.txt *.c就可以把当前目录下所有.txt文件重命名为.c文件啦
初来乍到,看到这里很多高手,很多复杂的语法还不懂,像这个应该没有必要用复杂的方法吧
第5楼 flyinspace 发表于 2007-03-30 13:32
银牌会员 发帖 517 积分 1,206
呵呵,头脑发昏了。
第6楼 zzhh612 发表于 2007-03-30 13:43
中级用户 发帖 103 积分 278
不知flyinspace

试过了没有.目录列表应用dir /b /s才对.这样可以把文件名写入1.txt,但在执行重命名文件时,会提示找不到文件的路径.兄弟的代码怕是需要改进吧.也许思路是对的.

我想用批处理解决的原因是文本存在于多个不同级数的子目录下,单用命令REN来做很是麻烦的,当然WINDOWS下有批量改名的软件,我是想在实践中学一学批处理.不能总只靠一种方法来解决问题吧.

[ Last edited by zzhh612 on 2007-3-30 at 01:51 PM ]
第7楼 MagiCube 发表于 2007-03-30 14:00
新手上路 发帖 2 积分 4
有理
第8楼 flyinspace 发表于 2007-03-30 14:08
银牌会员 发帖 517 积分 1,206
呵,都说过了呀。
没有注意的。。。

忘记加几个参数了。
还有那个名字可以随便写的。
不一定是.txt
随便写个。fly也行啊。
第9楼 flyinspace 发表于 2007-03-30 14:10
银牌会员 发帖 517 积分 1,206
试过了没有.目录列表应用dir /b /s才对.这样可以把文件名写入1.txt,但在执行重命名文件时,会提示找不到文件的路径.兄弟的代码怕是需要改进吧.也许思路是对的.

??
不是吧?
这个dir /b /s是可以随便写的。。
写dir /s /b都一样。。
第10楼 flyinspace 发表于 2007-03-30 14:13
银牌会员 发帖 517 积分 1,206
噢。开始你的要求里面没有子目录的。
就没有加上 /s参数。
第11楼 flyinspace 发表于 2007-03-30 14:15
银牌会员 发帖 517 积分 1,206
@echo off
dir /b /a /s *.txt>1.bpx
for /f "tokens=1,2 delims=. " %%i in (1.bpx) do ren %%i.txt %%i.c

加/a参数是为了防止有隐藏文件的出现。
第12楼 zzhh612 发表于 2007-03-30 14:48
中级用户 发帖 103 积分 278
flyinspace的代码在执行时仍会提示系统找不到文件.
没有能改名,只有根目录下的被改了,

我自己得来的,试过了还行

@echo off
FOR /R c:\test %%a IN (*.txt) DO (ren %%a %%~na.c)
pause


只是文件名不能有逗号,当然这本来也不规范,所以也没有想法来包括它了,如果非要包括进来,也只有高手来解决了..

[ Last edited by zzhh612 on 2007-3-30 at 02:57 PM ]
第13楼 flyinspace 发表于 2007-03-30 15:06
银牌会员 发帖 517 积分 1,206
哦。我自己试过了啊?
所有的目录下的文件都可以更改?

要想最规范的话。还要加上不少判断的语句。

但你想要麻烦么?
第14楼 bjsh 发表于 2007-03-30 21:18
银牌会员 发帖 621 积分 2,000
flyinspace的作息时间怎么黑白颠倒啊????
第15楼 zzhh612 发表于 2007-03-31 01:39
中级用户 发帖 103 积分 278
flyinspace的代码在执行时仍会提示系统找不到文件.
所有子目录下的TXT文件一个也没有改.

不知你是怎样运行成功的.
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023