中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 提取文件逐行內容,進行運算 問題! 麻煩高手解答.!
« [1] [2] »
作者:
标题: 提取文件逐行內容,進行運算 問題! 麻煩高手解答.! 上一主题 | 下一主题
piziliu2004
中级用户

过度热情


积分 321
发帖 139
注册 2006-3-21
状态 离线
『第 16 楼』:  

謝謝.!
willsort
版主

2006-6-12 11:24
查看资料  发送邮件  发短消息 网志  OICQ (16750931)  编辑帖子  回复  引用回复
wydos
中级用户





积分 304
发帖 117
注册 2006-4-4
状态 离线
『第 17 楼』:  提取txt文件的第一行內容给此文件重命名!问题 !麻煩高手解

如何提取txt文件的第一行內容,并用此行内容给此文件重命名?
可不可以一次处理多个文件?

2006-6-12 12:44
查看资料  发送邮件  发短消息 网志  OICQ (327337973)  编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 18 楼』:  



  Quote:
如何提取txt文件的第一行內容,并用此行内容给此文件重命名?
可不可以一次处理多个文件?

以下代码基本上能满足你的要求:
@echo off
setlocal ENABLEDELAYEDEXPANSION
for %%i in (%*) do (
                    set /p filename=<%%i
                    ren %%i "!filename!%%~xi"
                   )
endlocal


2006-6-12 17:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wydos
中级用户





积分 304
发帖 117
注册 2006-4-4
状态 离线
『第 19 楼』:  

先谢谢版主了!
但好象不行!
能不能解释一下每行代码的作用,谢谢!!!

2006-6-12 21:30
查看资料  发送邮件  发短消息 网志  OICQ (327337973)  编辑帖子  回复  引用回复
wydos
中级用户





积分 304
发帖 117
注册 2006-4-4
状态 离线
『第 20 楼』:  

我把"%*"改为"*.txt" 就可以了,但对于带有空格文件名的文件不起作用,希望版主能不能改进一下。
还有,我还是不理解代码的意思,版主能不能再解释一下?
谢谢!!

2006-6-12 21:52
查看资料  发送邮件  发短消息 网志  OICQ (327337973)  编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 21 楼』:  

  如果文件名带有空格,和路径带有空格的解决办法是一样的,加引号就可以了。

2006-6-12 22:35
查看资料  发短消息 网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 22 楼』:  



  Quote:
先谢谢版主了!
但好象不行!
能不能解释一下每行代码的作用,谢谢!!!
我把"%*"改为"*.txt" 就可以了,但对于带有空格文件名的文件不起作用,希望版主能不能改进一下。 ...

运行时需要带参数,在我这测试可以处理带空格的情况。set /p filename=<%%i用来读取文本的第一行内容。几条命令都很简单,你参照 帮助与支持 应该能自己看明白的。你可以在sendto目录下建立该批处理的快捷方式,这样就可以直接用鼠标选定批量改名了。

2006-6-13 11:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wydos
中级用户





积分 304
发帖 117
注册 2006-4-4
状态 离线
『第 23 楼』:  

今天研究了一下,基本上弄懂了。
不过还是有点疑问,想请教版主。就是“%*”是不是指“*.*"?你说的参数也是不是指“*.*"?若我要修改txt,就可输入:”1 *.txt",我理解得对不对?
还有for语句的“do (  )"用法我还是第一次见到(就是do后面带个”()“),帮助与支持 上面好象都没介绍,能不介绍一下他的用法 。

2006-6-13 19:25
查看资料  发送邮件  发短消息 网志  OICQ (327337973)  编辑帖子  回复  引用回复
bagpipe
银牌会员

DOS联盟捡破烂的


积分 1144
发帖 425
注册 2005-10-20
来自 北京
状态 离线
『第 24 楼』:  

%*请查看一下CALL /?帮助,这个是表示批处理所有的参数,我想楼上测试的时候也是不清楚这个而错的

2006-6-14 09:59
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
wydos
中级用户





积分 304
发帖 117
注册 2006-4-4
状态 离线
『第 25 楼』:  

谢谢 24 楼!
今天凑巧在CALL /?帮助中看见,终于明白了!!!
但是for语句的“do (  )"用法,哪里有介绍,24 楼能不能解答一下,谢谢!!!

2006-6-14 14:19
查看资料  发送邮件  发短消息 网志  OICQ (327337973)  编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: