中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-12 10:46
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 扩充是什么意思?可以用在哪些方面 查看 662 回复 1
楼 主 扩充是什么意思?可以用在哪些方面 发表于 2010-04-17 14:28 ·  中国 湖北 荆州 电信
新手上路
积分 8
发帖 5
注册 2010-04-10 15:20
16年会员
UID 164239
性别 男
状态 离线
 ~I - 删除任何引号("),扩充 %I
  %~fI - 将 %I 扩充到一个完全合格的路径名
  %~dI - 仅将 %I 扩充到一个驱动器号
  %~pI - 仅将 %I 扩充到一个路径
  %~nI - 仅将 %I 扩充到一个文件名
  %~xI - 仅将 %I 扩充到一个文件扩展名
  %~sI - 扩充的路径只含有短名
  %~aI - 将 %I 扩充到文件的文件属性
  %~tI - 将 %I 扩充到文件的日期/时间
  %~zI - 将 %I 扩充到文件的大小
  %~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩充
  到找到的第一个完全合格的名称。如果环境变量名
  未被定义,或者没有找到文件,此组合键会扩充到
  空字符串
  可以组合修饰符来得到多重结果:
  %~dpI - 仅将 %I 扩充到一个驱动器号和路径
  %~nxI - 仅将 %I 扩充到一个文件名和扩展名
  %~fsI - 仅将 %I 扩充到一个带有短名的完整路径名
  %~dp$PATH:i - 查找列在路径环境变量的目录,并将 %I 扩充
  到找到的第一个驱动器号和路径。
  %~ftzaI - 将 %I 扩充到类似输出线路的 DIR
以上是批处理百度百科里的资料
以前也看到很多批处理用类似“~”符号的德语句,就是“~”后面跟一些字母啊之类的
尤其是在使用变量的时候不是用%变量名%,而是用%变量名:~很奇怪的字符%
请问这到底是怎么个用法?我真的难以理解(因为本人没有去系统的学习批处理,只是略知一些简单的批处理)
在论坛有不知道怎么去搜索,该用什么关键字
所以,希望看到此贴的人,能帮帮我,谢谢
2 发表于 2010-04-17 14:41 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
@echo off
for %%I in ("%windir%\hh.exe") do (echo.%%I
echo.未扩充
echo.%%~I
echo.展开删除任何前后引号的 I。
echo.%%~fI
echo.将 I 展开到完全合格的路径名。
echo.%%~dI
echo.只将 I 展开到驱动器号。
echo.%%~pI
echo.只将 I 展开到路径。
echo.%%~nI
echo.只将 I 展开到文件名。
echo.%%~xI
echo.只将 I 展开到文件扩展名。
echo.%%~sI
echo.展开路径以只包含短名称。
echo.%%~aI
echo.将 I 展开到文件的文件属性。
echo.%%~tI
echo.将 I 展开到文件的日期和时间。
echo.%%~zI
echo.将 I 展开到文件大小。
echo.%%~dpI
echo.只将 I 展开到驱动器号和路径。
echo.%%~nxI
echo.只将 I 展开到文件名和扩展名。
echo.%%~fsI
echo.将 I 展开到只包含短名称的完整路径名。
echo.%%~ftzaI
echo.将 I 展开到输出行(如 dir一样)。)
pause

自己运行看
论坛跳转: