@echo off & setlocal enabledelayedexpansion
rem 判断文件是否存在,不要用if exist和if not exist,因为他们会受到文件是否隐藏的影响,改用dir /a 命令:
c:
dir /a c:\boot\bcd 1>nul 2>nul && (
echo 文件找到了
echo 我还要干其他的事情1...
) || (
echo 文件未找到
echo 我还要干其他的事情2...
)
pause
call :emptydisk
set adisk=%emptydisk%
echo 空盘%adisk%
pause
exit /b
:emptydisk
rem 该子程序通用,不用修改,输出变量为%emptydisk%,调用子程序后可用变量代换出来,例如set adisk=%emptydisk%
echo 开始寻找空盘
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
dir /a %%i: >nul 2>nul|| set emptydisk=%%i: && exit /b
)
rem ==========================示例2=================
@echo off & setlocal enabledelayedexpansion
rem 判断盘符或者文件夹、文件是否存在,不要用if exist和if not exist,因为他们会受到文件是否隐藏的影响,改用dir /a 命令:
c:
dir /a c:\boot\bcd 1>nul 2>nul && (
echo 文件找到了
echo 我还要干其他的事情1...
) || (
echo 文件未找到
echo 我还要干其他的事情2...
)
pause
echo 开始寻找空盘
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
dir /a %%i: >nul 2>nul|| set emptydisk=%%i: && goto :18
)
:18
echo 空盘%emptydisk%
pause