标题: for 怎样获取除最后一个令牌之外其余字符
[打印本页]
作者: joyoustar
时间: 2008-6-27 21:20
标题: for 怎样获取除最后一个令牌之外其余字符
给定一个字符串路径,路径深度不定,比如 c:\windows\system32\a\b\c\name
用怎样的办法能取到字符串c:\windows\system32\a\b\c,用语句for也就是以"\"为分隔符,去掉最后一个令牌name之外余下的字符,因为深度不定,所以难以获取令牌数量,我知道用*可以获取余下(从左至右)的令牌,但是反过来就不知道怎样弄了,望高手帮忙!
作者: pusofalse
时间: 2008-6-27 21:33
for %%a in (c:\windows\system32\a\b\c\name.tmp) do echo %%~dpa
pause>nul
作者: wjdidi
时间: 2008-6-27 23:36
@echo off
set str=c:\windows\system32\a\b\c\name
echo %str:~0,-5%
pause>nul
作者: joyoustar
时间: 2008-6-28 11:15
非常感谢!
作者: HAT
时间: 2008-6-28 13:30
遇到空格记得加双引号
@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