[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决] 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变量怎样才可以实现对文件属性的判断?谢谢
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

  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
复制代码
1

评分人数

TOP

回复 2# apang


    非常感谢,代码有效。

TOP

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

TOP

返回列表