返回列表 发帖
判断文件/目录/不存在
::判断指定路径代表的是文件、目录还是不存在。
::
::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
批处理之家论坛官方 QQ 群 :【当前人数/人数上限】【2009-07-08】
群①:43011867(181/200);群②:(暂缺数据);群③:66165582(120/200)。

TOP

用批处理加到外部库 的确很好很强大
o(∩_∩)o...~~~
空间:http://hi.baidu.com/fair_jm
喜欢批处理的没事的话去逛逛哦~~

TOP

先顶在说啊

TOP

翻译的中文版里面哪个函数在中文系统中会出错?
Batcher 发表于 2009-2-3 12:02


比如GetDate函数,用于获取本地系统日期,我进行了如下修改,否则在我的windows XP sp3系统中测试出错:
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:GetDate yy mm dd
::
:: 作者:Ritchie Lawrence, 2002-06-15. 版本 1.0
::
:: 功能:把本地系统日期赋值给参数 13
:: 适用于 NT4/2000/XP/2003.
::
:: 参数:%1 该变量用于接收年,四位(引用调用)
:: %2 该变量用于接收月,两位,0112(引用调用)
:: %3 该变量用于接收日,两位,0131(引用调用)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
setlocal ENABLEEXTENSIONS
::set t=2&if "%date%z" LSS "A" set t=1
::for /f "skip=1 tokens=2-4 delims=(-)" %%a in ('echo/^|date') do (
:: for /f "tokens=%t%-4 delims=.-/ " %%d in ('date/t') do (
:: set %%a=%%d&set %%b=%%e&set %%c=%%f))
set "first="
for /f "tokens=1-3 delims=.-/ " %%a in ('date/t') do (
if not defined first set first=1&set yy=%%a&set mm=%%b&set dd=%%c)
endlocal&set %1=%yy%&set %2=%mm%&set %3=%dd%&goto :EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::COPY

TOP

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表