![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-23 17:58 |
共 47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,274 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已结]如何用批命令截取一个路径的前半部分 |
| 可打印版本 1,307 / 11 |
| 第1楼 qq11211 | 发表于 2006-05-13 00:20 |
| 初级用户 发帖 15 积分 42 | |
|
[已结]如何用批命令截取一个路径的前半部分 如:C:\Program Files\Yahoo!\Messenger\skins\custom 只截取为C:\Program Files\Yahoo!\Messenger\
希望各位指点,谢谢! [ Last edited by willsort on 2006-5-13 at 18:26 ] |
|
| 第2楼 electronixtar | 发表于 2006-05-13 10:59 |
| 铂金会员 发帖 2,672 积分 7,493 | |
|
cd C:\Program Files\Yahoo!\Messenger\skins\custom\..\..\
|
|
| 第3楼 qq11211 | 发表于 2006-05-13 11:25 |
| 初级用户 发帖 15 积分 42 | |
|
首先要谢谢electronixtar,再说对不起,因为我没有说清楚。
我的问题应该这样表述: 如何用批命令在文本中截取一个路径的前半部分, 而且保证盘符随机变动,也就是说盘符可能是c,d,e,......路径不变, 如:C:\Program Files\Yahoo!\Messenger\skins\custom\sko.exe 只截取为C:\Program Files\Yahoo!\Messenger\ 再将截取的前半部分路径设置为%path1% 希望各位指点,谢谢! [ Last edited by qq11211 on 2006-5-13 at 13:13 ] |
|
| 第4楼 3742668 | 发表于 2006-05-13 12:30 |
| 荣誉版主 发帖 718 积分 2,013 | |
|
这个贴子可能对你会有帮助。另外,你截取的条件似乎并不清楚,是每个Messenger目录,还是只有盘符会动态变化?或者是指定层的目录?
|
|
| 第5楼 qq11211 | 发表于 2006-05-13 13:01 |
| 初级用户 发帖 15 积分 42 | |
|
谢谢3742668
文本中的路径是一个文件的绝对路径,直接可以获得,盘符是动态变化的,其他不变,执行批命令后路径成为x:\Program Files\Yahoo!\Messenger,x为动态盘符。 我对dos命令不熟悉,希望朋友们直接给出代码,谢谢! [ Last edited by qq11211 on 2006-5-13 at 13:24 ] |
|
| 第6楼 3742668 | 发表于 2006-05-13 13:10 |
| 荣誉版主 发帖 718 积分 2,013 | |
|
似乎是最简单的一种可能。 |
|
| 第7楼 qq11211 | 发表于 2006-05-13 14:28 |
| 初级用户 发帖 15 积分 42 | |
|
谢谢3742668版主,已经搞定
:: 文本中 path1="C:\\Program Files\\Yahoo!\\Messenger\\skins\\Default" set path1=%path1:~0,2%:\Program Files\Yahoo!\Messenger" [ Last edited by qq11211 on 2006-5-13 at 15:08 ] |
|
| 第8楼 chineselgs | 发表于 2006-05-13 14:39 |
| 高级用户 发帖 266 积分 613 来自 河南省 | |
|
呵呵,高手就是不一样~~
|
|
| 第9楼 qq11211 | 发表于 2006-05-13 15:19 |
| 初级用户 发帖 15 积分 42 | |
|
再请教3742668版主,在"C:\Program Files\Yahoo!\Messenger"这个路径中冒号是第一个字符,如果跳过冒号直接提取第2个字符c 代码应该是什么?那里可以找到相关教程
万分感谢! |
|
| 第10楼 3742668 | 发表于 2006-05-13 15:42 |
| 荣誉版主 发帖 718 积分 2,013 | |
|
set /?或者 "帮助与支持"中搜索"set"都可以查到详细的用法。
"在"C:\Program Files\Yahoo!\Messenger"这个路径中冒号是第一个字符,如果跳过冒号直接提取第2个字符c 代码应该是什么?" 冒号并非第一个字符,只能说它的偏移量是1,同理,要想获得其他的字符只要用 %str:~偏移量,字符个数%就行了。 |
|
| 第11楼 qq11211 | 发表于 2006-05-13 15:53 |
| 初级用户 发帖 15 积分 42 | |
|
谢谢3742668版主,明白了!
|
|
| 第12楼 doscc | 发表于 2006-05-16 08:52 |
| 中级用户 发帖 93 积分 256 来自 广东 | |
Originally posted by 3742668 at 2006-5-13 13:10: |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |