Board logo

标题: 扩充是什么意思?可以用在哪些方面 [打印本页]

作者: soiie     时间: 2010-4-17 14:28    标题: 扩充是什么意思?可以用在哪些方面
 ~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
以上是批处理百度百科里的资料
以前也看到很多批处理用类似“~”符号的德语句,就是“~”后面跟一些字母啊之类的
尤其是在使用变量的时候不是用%变量名%,而是用%变量名:~很奇怪的字符%
请问这到底是怎么个用法?我真的难以理解(因为本人没有去系统的学习批处理,只是略知一些简单的批处理)
在论坛有不知道怎么去搜索,该用什么关键字
所以,希望看到此贴的人,能帮帮我,谢谢

作者: Hanyeguxing     时间: 2010-4-17 14:41
@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

自己运行看