Board logo

标题: [文件操作] [已解决] for使用%%~ai变量判断文件属性 [打印本页]

作者: pZjVa0    时间: 2013-7-1 09:19     标题: [已解决] for使用%%~ai变量判断文件属性

本帖最后由 pZjVa0 于 2013-7-1 10:37 编辑

最初想通过dir命令来判断指定文件的隐藏属性,但后来发现行不通,首先如果目录下没有其他文件,并且这个文件不是隐藏属性会强制在屏幕提示“找不到文件”,然后if语句不清楚为什么在下面for语句中没有生效,无论判断结果如何都会同时执行
“echo 此文件为隐藏” 和 echo 没有隐藏属性
  1. for /f %%i in ('dir /a:h /b *') do if %%i==a.exe (echo 此文件为隐藏) else (echo 没有隐藏属性)
  2. pause
复制代码
后面在知道原来for语句中提供了%%~ai变量来判断文件属性,看了微软提供的说明后完全不明白如何使用,请问如果使用%%~ai变量怎样才可以实现对文件属性的判断?谢谢
作者: apang    时间: 2013-7-1 10:06

  1. @echo off
  2. for %%I in ("c:\boot.ini") do set var=%%~aI
  3. echo %var%
  4. if "%var:h=%" neq "%var%" (echo 隐藏) else echo 非隐藏
  5. pause
复制代码

作者: pZjVa0    时间: 2013-7-1 10:37

回复 2# apang


    非常感谢,代码有效。
作者: CrLf    时间: 2013-7-2 16:34

我比较喜欢这样:
  1. @echo off
  2. attrib a.txt|findstr "^....H"&&set "hide="||set "hide=非"
  3. echo a.txt %hide%隐藏
  4. pause
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2