第 16 楼
发表于 2006-06-12 11:24 · 中国 江苏 苏州 电信
中级用户
★★
过度热情
积分 321
发帖 139
注册 2006-03-21 17:19
UID 52521
性别 男
状态 离线
第 17 楼
提取txt文件的第一行內容给此文件重命名!问题 !麻煩高手解
发表于 2006-06-12 12:44 · 中国 贵州 贵阳 电信
中级用户
★★
积分 304
发帖 117
注册 2006-04-04 18:43
UID 53325
性别 男
状态 离线
如何提取txt文件的第一行內容,并用此行内容给此文件重命名?
可不可以一次处理多个文件?
第 18 楼
发表于 2006-06-12 17:51 · 中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013
发帖 718
注册 2006-02-18 07:07
UID 50550
状态 离线
如何提取txt文件的第一行內容,并用此行内容给此文件重命名?
可不可以一次处理多个文件?
以下代码基本上能满足你的要求:
@echo off
setlocal ENABLEDELAYEDEXPANSION
for %%i in (%*) do (
set /p filename=<%%i
ren %%i "!filename!%%~xi"
)
endlocal
第 19 楼
发表于 2006-06-12 21:30 · 中国 贵州 贵阳 电信
中级用户
★★
积分 304
发帖 117
注册 2006-04-04 18:43
UID 53325
性别 男
状态 离线
先谢谢版主了!
但好象不行!
能不能解释一下每行代码的作用,谢谢!!!
第 20 楼
发表于 2006-06-12 21:52 · 中国 贵州 贵阳 电信
中级用户
★★
积分 304
发帖 117
注册 2006-04-04 18:43
UID 53325
性别 男
状态 离线
我把"%*"改为"*.txt" 就可以了,但对于带有空格文件名的文件不起作用,希望版主能不能改进一下。
还有,我还是不理解代码的意思,版主能不能再解释一下?
谢谢!!
第 21 楼
发表于 2006-06-12 22:35 · 中国 浙江 杭州 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
UID 51697
来自 成都
状态 离线
如果文件名带有空格,和路径带有空格的解决办法是一样的,加引号就可以了。
第 22 楼
发表于 2006-06-13 11:44 · 中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013
发帖 718
注册 2006-02-18 07:07
UID 50550
状态 离线
先谢谢版主了!
但好象不行!
能不能解释一下每行代码的作用,谢谢!!!
我把"%*"改为"*.txt" 就可以了,但对于带有空格文件名的文件不起作用,希望版主能不能改进一下。 ...
运行时需要带参数,在我这测试可以处理带空格的情况。set /p filename=<%%i用来读取文本的第一行内容。几条命令都很简单,你参照 帮助与支持 应该能自己看明白的。你可以在sendto目录下建立该批处理的快捷方式,这样就可以直接用鼠标选定批量改名了。
第 23 楼
发表于 2006-06-13 19:25 · 中国 贵州 贵阳 电信
中级用户
★★
积分 304
发帖 117
注册 2006-04-04 18:43
UID 53325
性别 男
状态 离线
今天研究了一下,基本上弄懂了。
不过还是有点疑问,想请教版主。就是“%*”是不是指“*.*"?你说的参数也是不是指“*.*"?若我要修改txt,就可输入:”1 *.txt",我理解得对不对?
还有for语句的“do ( )"用法我还是第一次见到(就是do后面带个”()“),帮助与支持 上面好象都没介绍,能不介绍一下他的用法 。
第 24 楼
发表于 2006-06-14 09:59 · 中国 北京 联通
银牌会员
★★★
DOS联盟捡破烂的
积分 1,144
发帖 425
注册 2005-10-20 00:00
UID 43784
来自 北京
状态 离线
%*请查看一下CALL /?帮助,这个是表示批处理所有的参数,我想楼上测试的时候也是不清楚这个而错的
第 25 楼
发表于 2006-06-14 14:19 · 中国 贵州 贵阳 电信
中级用户
★★
积分 304
发帖 117
注册 2006-04-04 18:43
UID 53325
性别 男
状态 离线
谢谢 24 楼!
今天凑巧在CALL /?帮助中看见,终于明白了!!!
但是for语句的“do ( )"用法,哪里有介绍,24 楼能不能解答一下,谢谢!!!
论坛跳转: