iT邦幫忙

DAY 18
3

DOS 不死系列 第 18

真槍實彈實例演練(3) - 檢查某個目錄裡面有幾個特定附檔名的檔案(要寫檔案)

這次改用要寫檔案的方式,檢查某個目錄裡面有幾個檔案具有特定附檔名的檔
這個真槍實彈實例演練,跟上次講過的:真槍實彈實例演練(2) - 檢查某個目錄裡面有幾個檔案很類似,只是改成要找到特定附檔名的檔案個數,而且故意要寫檔案,當然寫了檔案之後,記得要毀屍滅跡啊!

一樣自己看code,因為說明都在code裡面了:

@echo off
REM 檢查某個目錄裡,有幾個具有特定附檔名的檔案

REM 先清空螢幕
cls

REM 設定區域變數
setlocal

REM 檢查是否有傳入要檢查的目錄
if %1a==a goto Syntax
if %2.==. goto Syntax

REM 檢查目錄是否存在
if not exist %1 echo 目錄 %1 不存在,請確認目錄名稱沒打錯 && goto EOF

REM 顯示該目錄中的所有檔案,要排除目錄,然後導向計算個數
dir /a-d/b %1 | find /c ".%2" > alexcfiles.###
set /p files = <alexcfiles.###
del /q alexcfiles.###
echo 目錄 %1 裡,有 %filess% 個 %2 的檔案
goto EOF

REM 顯示使用方式
:Syntax
echo 使用方式:
echo %0 "C:\要被檢查的目錄" 附檔名
echo.
echo 例如要檢查 d:\alexc 目錄中有幾個 .xls 的 Excel 檔案,可以用
echo %0 d:\alexc xls

:EOF
REM 結束設定區域變數
endlocal

把上面的程式碼存成countfilesbyext.cmd。例如要檢查%tmp%目錄有幾個.xls檔案,就用:

countfilesbyext %tmp% xls

上一篇
真槍實彈實例演練(2) - 檢查某個目錄裡面有幾個檔案
系列文
DOS 不死18

尚未有邦友留言

立即登入留言