楼 主
for 怎样获取除最后一个令牌之外其余字符
发表于 2008-06-27 21:20 · 中国 四川 德阳 电信
初级用户
★
积分 96 发帖 45 注册 2007-03-20 06:24 19年会员 UID 82322 性别 男
状态 离线
给定一个字符串路径,路径深度不定,比如 c:\windows\system32\a\b\c\name
用怎样的办法能取到字符串c:\windows\system32\a\b\c,用语句for也就是以"\"为分隔符,去掉最后一个令牌name之外余下的字符,因为深度不定,所以难以获取令牌数量,我知道用*可以获取余下(从左至右)的令牌,但是反过来就不知道怎样弄了,望高手帮忙!
第 2 楼
发表于 2008-06-27 21:33 · 中国 山东 淄博 联通
银牌会员
★★★
积分 1,604 发帖 646 注册 2008-04-13 23:39 18年会员 UID 115804 性别 男
状态 离线
for %%a in (c:\windows\system32\a\b\c\name.tmp) do echo %%~dpa
pause>nul
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
第 3 楼
发表于 2008-06-27 23:36 · 中国 安徽 合肥 联通
初级用户
★★
积分 175 发帖 55 注册 2007-04-30 07:15 19年会员 UID 87008 性别 男
状态 离线
@echo off
set str=c:\windows\system32\a\b\c\name
echo %str:~0,-5%
pause>nul
第 4 楼
发表于 2008-06-28 11:15 · 中国 四川 德阳 电信
初级用户
★
积分 96 发帖 45 注册 2007-03-20 06:24 19年会员 UID 82322 性别 男
状态 离线
第 5 楼
发表于 2008-06-28 13:30 · 中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023 发帖 5,017 注册 2007-05-31 19:39 19年会员 UID 89899 性别 男
状态 离线
遇到空格记得加双引号
@echo off
for %%a in ("C:\Program Files\NetMeeting\conf.exe") do echo 文件所在的目录 %%~dpa
for %%a in ("C:\Program Files\NetMeeting\conf.exe\..") do echo 文件的父文件夹 %%~nxa
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正