批处理怎么判断文件的隐藏与否

时间:2018-11-03

最近有个用户在问小编批处理怎么判断文件的隐藏与否,其实问题还是比较难的,在各个系统下的方法也是不一样的,下面小编就说下判断隐藏文件的思路,需要的用户快点来看看吧,或许能够给你带来些启发。

批处理怎么判断文件的隐藏与否:

判断前提:

显示隐藏文件。

linux系统显示隐藏文件方法:你可以通过判断文件名的第一个字符是不是点

windows系统显示隐藏文件方法:在命令提示符窗口中输入“dir/a:h”,按回车键,可以显示当前目录下的隐藏文件。

解决思路:

直接可以获取文件的基础属性,再判断是不是隐藏文件就可了。

批处理怎么判断文件的隐藏与否命令:

1)DIR / AH

使用DIR命令查找具有特定属性的文件。如果找到则返回成功,否则返回错误。

dir /ah file.ext >nul 2>nul && (

echo file.ext is hidden

) || (

echo file.ext is NOT hidden

)

2)ATTRIB命令

属性代码如果是大写的话。隐藏的代码就是是H,它始终会处于第五位。使用FINDSTR查找代码即可。

attrib file.ext | findstr "^....H" >nul && (

echo file.ext is hidden

) || (

echo file.ext is NOT hidden

)

3)FOR变量~a修饰符

如果属性代码是小写的话,它们的顺序与ATTRIB命令的顺序就会不同。隐藏的就会在代码h位于第四位。使用FINDSTR查找代码即可。

for %%F in (file.ext) do echo %%~aF | findstr "^...h" >nul 2>nul &&

echo file.ext is hidden

) || (

echo file.ext is NOT hidden

)

或使用子字符串操作。不要忘记子字符串是0索引的。

for %%F in (file.ext) do set "attr=%%~aF"

if %attr:~3,1% equ h (

echo file.ext is hidden

) else (

echo file.ext is NOT hidden

)

小编不知道你所使用的具体系统和环境,省下的事就是简单的使用命令就可以了,相信你看到我的答案了之后就可轻松够解决问题,希望能够给您带来些许帮助。