批处理的for语句中,怎么样表示变量%%i的路径?

我这里有一个for语句,:FOR/F%%iIN('......')DO()这里的%%i代表一个文件名(有路径),如:D:\124\23456\abc\pic.c我怎么写能... 我这里有一个for语句,:FOR /F %%i IN ('......') DO()
这里的%%i代表一个文件名(有路径),如:D:\124\23456\abc\pic.c
我怎么写能得到怎个文件的路径?
想用扩展的那种写法。%~XXX什么来着?
展开
 我来答
浮生难忆
2013-12-09 · TA获得超过920个赞
知道小有建树答主
回答量:571
采纳率:50%
帮助的人:689万
展开全部
%%~dpnxi  
d表示拓展到驱动盘符,例如D:
p表示拓展到文件的目录路径.比如 \124\23456\abc\
n表示拓展到文件的名称,比如pic
x表示拓展到文件的拓展后缀,比如.c

把所有连接起来就是:拓展完整的文件路径,包括完整文件名称:

在你的代码中,%%~dpnxi 等同于D:\124\23456\abc\pic.c

追问
我想表示出来 D:\124\23456\abc 怎么写?
FOR /F %%i IN ('......') DO(
echo %%~dpi

可以吗?
追答
嗯,使用%%~dpi是可以取出%%i的路径的。
不过具体还是取决你('.....')里面的代码是否正确,你先试试看,如果不对,就注意下('.....') 里面的内容?单引号一般表示执行一个命令。
匿名用户
2013-12-09
展开全部
%%~dpi即可。

更多可参考:
%~I - 删除任何引号("),扩展 %I
%~fI - 将 %I 扩展到一个完全合格的路径名
%~dI - 仅将 %I 扩展到一个驱动器号
%~pI - 仅将 %I 扩展到一个路径
%~nI - 仅将 %I 扩展到一个文件名
%~xI - 仅将 %I 扩展到一个文件扩展名
%~sI - 扩展的路径只含有短名
%~aI - 将 %I 扩展到文件的文件属性
%~tI - 将 %I 扩展到文件的日期/时间
%~zI - 将 %I 扩展到文件的大小
可以组合修饰符来得到多重结果:

%~dpI - 仅将 %I 扩展到一个驱动器号和路径
%~nxI - 仅将 %I 扩展到一个文件名和扩展名
%~fsI - 仅将 %I 扩展到一个带有短名的完整路径名
%~dp$PATH:I - 搜索列在路径环境变量的目录,并将 %I 扩展
到找到的第一个驱动器号和路径。
%~ftzaI - 将 %I 扩展到类似输出线路的 DIR
追问
我想表示出来 D:\124\23456\abc 怎么写?
FOR /F %%i IN ('......') DO(
echo %%~dpi

可以吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lifei259
2013-12-09 · TA获得超过1061个赞
知道大有可为答主
回答量:2341
采纳率:48%
帮助的人:733万
展开全部
FOR /r %%i IN (*.c) DO (
echo %%~fi
)
pause
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
愈未央2I
2013-12-09 · TA获得超过676个赞
知道小有建树答主
回答量:668
采纳率:50%
帮助的人:483万
展开全部
@echo off
for /f "tokens=*" %%i in ('dir /b D:\124\23456\abc\pic.c') do echo %%~dpi
pause
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式