我來寫個autoit?腳本吧?(autoit?3.3.6.1?漢化版?winxp?home?sp3?環境?編譯運行通過)
來個效果圖
壹下是源代碼
$dir?=?"D:\h";需要查找的路徑
$str?=?search($dir);調用search函數查找路徑
$arr?=?StringSplit($str,?"|");將search函數返回的字符串拆分成數組,數組元素就是壹個文件的完整路徑
$file?=?$arr;把數組arr復制給file使file成為和arr相同大小的數組,目的只是為了構造相同大小的數組
$j?=?1
;循環把?數組arr中
For?$i?=?1?To?$arr[0]
$p?=?StringInStr($arr[$i],?"\",?0,?-1);從路徑尾部向前找到路徑分割符"\"在字符串中的位置
$filename?=?StringMid($arr[$i],?$p+1);截取文件名
;如果文件名中包含字符串FRA,則將其復制到數組file中
If?StringInStr($filename,?"FRA",?0)?Then
$file[$j]?=?$arr[$i]
$j?+=?1
EndIf
Next
$n?=?$j?-?1;循環結束後j-1的值就是含FRA的文件的個數
;buf字符串的內容將會用來寫入文件
$buf?=?"總***找到文件個數:"?&?$n?&?"?個"?&@CRLF
;循環將數組file中的路徑拼接到buf上
For?$j?=?1?To?$n
$buf?&=?$file[$j]?&?@CRLF
Next
;在腳本所在目錄創建統計報告.txt
$fp?=?FileOpen(@ScriptDir?&?"\統計報告.txt",?10)
FileWrite($fp,?$buf);把buf的內容寫入統計報告.txt
FileClose($fp);關閉fileopen函數打開的文件
Run(@WindowsDir?&?"\Notepad.exe?"?&?@ScriptDir?&?"\統計報告.txt",?"");用啟動記事本打開生成的文件
;遞歸查找函數,遞歸查找*.*,支持子目錄,以字符串形式返回所有文件的路徑
;各路徑之間用?豎線“|”隔開
Func?search($path)
$ret?=?""
$handle?=?FileFindFirstFile($path?&?"\*.*")
If?$handle?=?-1?Then?Return?$ret
While?1
$file?=?FileFindNextFile($handle)
If?@error?Then?ExitLoop
If?@extended?Then
$tmp?=?search($path?&?"\"?&?$file)
Else
$tmp?=?$path?&?"\"?&?$file
EndIf
If?$tmp?<>?""?Then
If?$ret?=?""?Then
$ret?=?$tmp
Else
$ret?=?$ret?&?"|"?&?$tmp
EndIf
EndIf
WEnd
Return?$ret
EndFunc