從這次之後,就開始進入真槍實彈的實例演練,就先來個dir指令跟先前說過的指令的綜合應用。
看code,說明都在裡面了,就不多廢話了:
@echo off
REM 檢查某個目錄裡,是否沒有任何檔案
REM 先清空螢幕
cls
REM 設定區域變數
setlocal
REM 檢查是否有傳入要檢查的目錄
if %1a==a goto Syntax
REM 檢查目錄是否存在
if not exist %1 echo 目錄 %1 不存在,請確認目錄名稱沒打錯 && goto EOF
REM 以最精簡的方式顯示該目錄中的所有檔案,然後用findstr /v檢查是不是有個不可能出現的檔名
REM 把結果導到一個不存在的裝置,如果目錄有檔案的話,findstr /v檢查的結果會是真的,就表是有檔案存在
REM 檢查結果是假的,就表是沒檔案存在
dir %1 /b | findstr /v "5alexc5alexc" > nul && (set isEmpty=有檔案) || (set isEmpty=沒有檔案)
echo 目錄 %1 裡,%isEmpty%
goto EOF
REM 顯示使用方式
:Syntax
echo 使用方式:
echo %0 "C:\要被檢查的目錄"
:EOF
REM 結束設定區域變數
endlocal
把上面的程式碼存成checkempty.cmd。例如要檢查%tmp%目錄是不是空的,就用:
checkempty %tmp%
執行結果:
目錄 C:\Users\alexc\AppData\Local\Temp 裡,有檔案