中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-10 14:07
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,255 会员排行
DOS批处理 & 脚本技术(批处理室) » [请教]如何获取绝对路径中文件名的最后一部分?[已解决]
可打印版本  6,780 / 25
第1楼 yardian 发表于 2006-10-19 01:38
中级用户 发帖 85 积分 305
[请教]如何获取绝对路径中文件名的最后一部分?[已解决]
不会编程,对dos的批处理也不是很熟.想写个脚本真难.又遇到一个新问题:
我现在想获取包含绝对路径的文件名的最后一部分,请问批处理如何写?
比如:a:\c\E\b.txt(路径长度不固定,可能有很多层目录),现在我想建一个变量,让这个变量的值为b.txt,请问如何用批处理解决?

[ Last edited by yardian on 2006-10-19 at 11:24 ]
第2楼 3742668 发表于 2006-10-19 01:49
荣誉版主 发帖 718 积分 2,013

代码直接在回贴里面写的,未测试...
第3楼 yardian 发表于 2006-10-19 02:10
中级用户 发帖 85 积分 305
谢谢!要的就是这种效果!
第4楼 namejm 发表于 2006-10-19 06:01
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  3742668的代码可以简化一下:


  发现了一个小bug,修正了一下,可以适应路径名为空格的情形。

[ Last edited by namejm on 2006-10-19 at 06:24 ]
第5楼 lanlaila 发表于 2006-10-19 06:04
新手上路 发帖 3 积分 6
这里学习气氛真好,我要好好学习了
第6楼 pengfei 发表于 2006-10-19 06:10
银牌会员 发帖 485 积分 1,218 来自 湖南.娄底
真不错!

3742668版主是把文件路径用call转化成%1的变量, 为扩充到文件名和后缀名做准备.

而namejm版主直接使用for将文件路径转化成可替换变量, 再执行扩充.
第7楼 3742668 发表于 2006-10-19 07:46
荣誉版主 发帖 718 积分 2,013



以上代码均未测试...
第8楼 yardian 发表于 2006-10-19 07:47
中级用户 发帖 85 积分 305
大家都厉害,还是这里气氛好啊,多谢各位了
第9楼 namejm 发表于 2006-10-19 08:02
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  7F的第二段代码可能是最通用的。把它扩展一下,就可以获取指定层次的文件夹名了。
第10楼 3742668 发表于 2006-10-19 08:10
荣誉版主 发帖 718 积分 2,013

通用还是要用上面的.
第11楼 namejm 发表于 2006-10-19 08:40
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  10F的不能正确处理带空格的路径,而7F的可以处理;如果要获取指定层次的文件夹名的话,10F的更简洁一点,而7F的也可以实现,只是代码会长一点。如果从通用性上考虑的话,我还是觉得7F的才是真正的通用。

————————————————————————————————————
  经过再次测试证明,以上蓝色内容中关于10F的代码不能处理空格的言论严重失实,看来10F的才是真正的通用的。

  附上我的测试代码(意图:获取路径中第二层文件夹名;结果:不能正确获取指定层次的文件夹名):


[ Last edited by namejm on 2006-10-21 at 06:13 ]
第12楼 3742668 发表于 2006-10-20 08:15
荣誉版主 发帖 718 积分 2,013
Try...
第13楼 namejm 发表于 2006-10-21 01:30
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  呵呵,测试过了,确实能处理带空格的路径,但是不能正确获取空格路径中指定层次的文件夹名。
第14楼 3742668 发表于 2006-10-21 01:42
荣誉版主 发帖 718 积分 2,013
NO What Is Cann't...(Chinese English)
第15楼 lxmxn 发表于 2006-10-21 02:14
版主 发帖 4,938 积分 11,386
  呵呵,版主表演得精彩……
  
  学习了。。。
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023