中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 01:18
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » for 怎样获取除最后一个令牌之外其余字符
可打印版本  799 / 4
第1楼 joyoustar 发表于 2008-06-27 21:20
初级用户 发帖 45 积分 96
for 怎样获取除最后一个令牌之外其余字符
给定一个字符串路径,路径深度不定,比如 c:\windows\system32\a\b\c\name
用怎样的办法能取到字符串c:\windows\system32\a\b\c,用语句for也就是以"\"为分隔符,去掉最后一个令牌name之外余下的字符,因为深度不定,所以难以获取令牌数量,我知道用*可以获取余下(从左至右)的令牌,但是反过来就不知道怎样弄了,望高手帮忙!
第2楼 pusofalse 发表于 2008-06-27 21:33
银牌会员 发帖 646 积分 1,604
for %%a in (c:\windows\system32\a\b\c\name.tmp) do echo %%~dpa
pause>nul
第3楼 wjdidi 发表于 2008-06-27 23:36
初级用户 发帖 55 积分 175
@echo off
set str=c:\windows\system32\a\b\c\name
echo %str:~0,-5%
pause>nul
第4楼 joyoustar 发表于 2008-06-28 11:15
初级用户 发帖 45 积分 96
非常感谢!
第5楼 HAT 发表于 2008-06-28 13:30
版主 发帖 5,017 积分 9,023
遇到空格记得加双引号

[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023