判断文件/目录/不存在 | ::判断指定路径代表的是文件、目录还是不存在。 | | :: | | ::isF <文件/目录> [合格路径] [标志] | | :: <文件/目录> 要判断的路径。 | | :: 最后一个字符可以是“\”,方便用于处理“%~dp0”等后面跟有斜杠的路径。 | | :: 合格路径 返回变量,默认为 Fn。处理后其值最后一个字符定不是“\”。 | | :: 标志 返回变量,默认为 isFF。含义如下: | | :: 文件/目录/不存在 | | :: 1 / 2 /0 | | :: | | ::isF C:\boot.ini | | ::isF "C:\WINDOWS\" NEW_PATH | | ::isF "D:\SOFT" QUA_PATH FILE_OR_DIR_FLOG | | :: | | setlocal | | set "$FF_path=%~1" | | if "%~2"=="" (set $Fn=Fn)else set $Fn=%~2 | | if "%~3"=="" (set $isFF=isFF)else set $isFF=%~3 | | if "%$FF_path:~-1%"=="\" set "$FF_path=%$FF_path:~,-1%" | | if exist "%$FF_path%\" (set $isF=2)else ( | | if exist "%$FF_path%" (set $isF=1)else set $isF=0 | | ) | | endlocal&set %$Fn%=%$FF_path%&set %$isFF%=%$isF% | | goto :eofCOPY |
判断文件属性
| ::判断文件/目录的属性。 | | :: | | ::Atn <文件/目录> [属性] | | :: <文件/目录> 指定文件/目录 | | :: 属性 返回变量,默认为att。 | | :: | | ::CALL Atn.BAT C:\BOOT.INI | | ::Atn "%WINDIR%\NOTEPAD.EXE" FILE_ATTRIBUTE | | :: | | setlocal | | if "%~2"=="" (set $att=att)else set $att=%~2 | | set $atbt=%~a1 | | endlocal&set %$att%=%$atbt% | | goto :eofCOPY |
判断分区文件系统
| ::判断文件系统类型(CHKNTFS 法) | | :: | | ::FSt <分区> [类型] | | :: <分区> 带冒号的分区盘符。 | | :: 类型 返回变量,默认为FStye。代表分区类型。 | | :: | | ::FSt C: | | ::FSt H:\ FILE_SYSTEM_TYPE | | :: | | setlocal | | set "$Drv=%~1" | | if "%~2"=="" (set $FStye=FStye)else set $FStye=%~2 | | if "%$Drv:~-1%"=="\" set "$Drv=%$Drv:~,-1%" | | for /f "tokens=2 delims=。 " %%t in ('"chkntfs %$Drv%|find "类型""') do ( | | set $type=%%t | | ) | | ::set $type=%$type:~,-1% | | endlocal&set %$FStye%=%$type% | | goto :eofCOPY |
| ::判断文件系统类型(FSUTIL 法) | | :: | | ::FSt2 <分区> [类型] | | :: <分区> 带冒号的分区盘符。 | | :: 类型 返回变量,默认为FStye。代表分区类型。 | | :: | | ::FSt2 C: | | ::FSt2 G:\ FILE_SYSTEM_TYPE | | :: | | setlocal | | set "$Drv=%~1" | | if "%~2"=="" (set $FStye=FStye)else set $FStye=%~2 | | if "%$Drv:~-1%"==":" set "$Drv=%$Drv%\" | | for /f "tokens=2 delims=: " %%t in ('"fsutil fsinfo volumeinfo %$Drv%|find "系统名""') do ( | | set $type=%%t | | ) | | endlocal&set %$FStye%=%$type% | | goto :eofCOPY |
|