找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 21721|回复: 3

[文件操作] [已解决] for使用%%~ai变量判断文件属性

[复制链接]
发表于 2013-7-1 09:19:44 | 显示全部楼层 |阅读模式
本帖最后由 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变量怎样才可以实现对文件属性的判断?谢谢

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2013-7-1 10:06:04 | 显示全部楼层
  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技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2013-7-1 10:37:02 | 显示全部楼层
回复 2# apang


    非常感谢,代码有效。
发表于 2013-7-2 16:34:58 | 显示全部楼层
我比较喜欢这样:
  1. @echo off
  2. attrib a.txt|findstr "^....H"&&set "hide="||set "hide=非"
  3. echo a.txt %hide%隐藏
  4. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 09:22 , Processed in 0.028354 second(s), 12 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表