bat 批处理 for 命令快速入门

2019-01-29 20:34:52于海丽

三、 %~dI - 仅将 %I 扩展到一个驱动器号

看例子:
  代码如下,我还是放到桌面执行!
  FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~di
  pause
  执行后我CMD里显示如下
  C:
  C:
  我桌面就两个文件test.bat,test.vbs,%%~di作用是,如果变量%%i的内容是一个文件或者目录名,他就会把他这文件或者目录所在的盘符号打印出来!

四、 %~pI - 仅将 %I 扩展到一个路径

  这个用法和上面一样,他只打印路径不打印文件名字
  FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~pi
  pause
  我就不打结果了,大家自己复制代码看结果吧,下面几个都是这么个用法,代码给出来,大家自己看结果吧!

五、 %~nI - 仅将 %I 扩展到一个文件名

  只打印文件名字
  FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~ni
  pause

六、 %~xI - 仅将 %I 扩展到一个文件扩展名

  只打印文件的扩展名
  FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~xi
  pause

七、 %~sI - 扩展的路径只含有短名

  打印绝对短文件名
  FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~si
  pause

八、 %~aI - 将 %I 扩展到文件的文件属性

  打印文件的属性
  FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~ai
  pause

九、 %~tI - 将 %I 扩展到文件的日期/时间

  打印文件建立的日期
  FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~ti
  pause

十、 %~zI - 将 %I 扩展到文件的大小

  打印文件的大小
  FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~zi
  pause
  龙卷风补充:上面例子中的"delims=="可以改为"delims=",即不要分隔符

十一、 %~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩展到找到的第一个完全合格的名称。如果环境变量名未被定义,或者没有找到文件,此组合键会扩展到空字符串

  这是最后一个,和上面那些都不一样,我单独说说!
  然后在把这些代码保存为批处理,放在桌面。
  @echo off
  FOR /F "delims=" %%i IN (“notepad.exe”) DO echo %%~$PATH:i
  pause
  龙卷风补充:上面代码显示结果为C:WINDOWSsystem32notepad.exe
  他的意思就在PATH变量里指定的路径里搜索notepad.exe文件,如果有notepad.exe则会把他所在绝对路径打印出来,没有就打印一个错误!
  (TTT说明,保存到桌面上,运行显示结果为:系统找不到文件 “notepad.exe”。查看环境变量path中确实有这个路径,不明原因!后来发现了,原来是中文引号的原因。
  上面的命令应该写成:
  FOR /F "delims=" %%i IN ("notepad.exe") DO echo %%~$PATH:i

相关文章 大家在看