寫乙個遍歷資料夾目錄和檔案的指令碼,預設搜尋檔案,加上 -d 引數搜尋目錄,可以設定搜尋深度,引數設定模仿find 命令,當然效率沒有find命令高,日常使用還是使用find命令,此指令碼僅做參考
#! /bin/bash
function isnumber
is_dir=0
#判斷是否是搜尋目錄
for p in $@
do [ "$p" == "-d" ] && is_dir=1 && break
done
while [ $# -gt 0 ]
do #這裡刪除不必要的引數
[ "$1" == "-d" ] && shift 1 && continue
if [ "$1" != "-maxdepth" ]; then
new_para[$]="$1"
shift 1
else
shift 1
if [ $# -eq 0 ] || ! isnumber $1; then
echo "引數錯誤 -maxdepth = $1 ,請檢查 !!!" && exit 1
fimaxdepth="$1" && shift 1
fidone
#如果是搜尋目錄,則不會顯示被搜尋的當前目錄
function findall
findall $ $
指令碼名字命名為display.sh ,執行chmod a+x display.sh
例如: ./display.sh ./ -d -maxdepth 2 此命令等同於 find ./ -maxdepth 2 -type d ,執行的結果一致,除了find命令會顯示引數傳入的目錄本身,此指令碼不會顯示引數傳入的目錄,只顯示所有的子目錄
如果搜尋所有的檔案 ./display.sh ./
如果搜尋所有的資料夾 ./display.sh ./ -d
遍歷資料夾
function search path string filename string ball boolean false string varsearchrec tsearchrec begin if findfirst path faanyfile,searchrec 0 then begin...
資料夾遍歷
c 遍歷指定資料夾中的所有檔案 directoryinfo thefolder new directoryinfo folderfullname 遍歷一層資料夾 foreach directoryinfo nextfolder in thefolder.getdirectories 遍歷多層資料夾 ...
遍歷資料夾
使用files類的newdirectorystream方法完成這一功能 path path paths.get d test try catch ioexception e files提供了乙個walkfiletree方法,可以用於遍歷整個資料夾,並且針對每個檔案可以進行特定的處理工作。public...