複数の対象Folderの中にサブディレクトリが増えて行く環境に置いて、
各対象Folder内で一番最後に更新されたFileの更新時間を取得したいです。
(自動更新システムが動いているのでそれが停止していないか確認する目的です)
参考として
http://d.hatena.ne.jp/end0tknr/20120118/1326889962
https://oshiete.goo.ne.jp/qa/1397967.html
上記Link先等の情報を組み合わせてScriptを作成しましたが
FSOの再帰処理ではサブディレクトリ毎の結果しか出力出来ませんでした。
(FSOの再帰処理で全File 若しくは 各サブディレクトリの最新更新File
のList を Ary に入れて 各時間をチェックする等を試みましたのですが、
上手く行きませんでした)
御教授いただければ幸いです。
よろしくお願いいたします。
VBScript
1 2Dim FSO 3Dim d 'ディレクトリ名 4Dim fn 'ファイル名 5Dim ary 'ArrayList 6Dim item 'ArrayList項目 7Dim num 'ArrayList項目数 8Dim objReadStream 9Dim setF_Path '設定FilePath 10Dim strLine 11 12Set FSO = WScript.CreateObject("Scripting.FileSystemObject") 13Set ary = CreateObject("System.Collections.ArrayList") 14setF_Path = "「対象FilderのList(Full Path)」.txt" 15 16'ファイルを読み取り専用で開き、TextStream オブジェクトを取得 17Set objReadStream = FSO.OpenTextFile(setF_Path, 1) 18 19Do Until objReadStream.AtEndOfLine = True 20 '1 行読み込み 21 strLine = objReadStream.ReadLine 22 23 WScript.Echo strLine 24 25ary = FindFolder(FSO.GetFolder(strLine)) 26 27Loop 28 29num = ary.Count 30WScript.Echo "項目数: " & num 31 32 33objReadStream.Close 34 35'// 後処理 36Set FSO = Nothing 37 38 39'//=================================================================== 40'// サブフォルダも再帰して一覧を表示 41Function FindFolder(ByVal objMainFolder) 42 Dim objSubFolder 43 Dim objFile 44 Dim strNewFilePath 45 Dim dtmMostNewTimeStamp 46 47 48 '// フォルダがあれば再帰 49 For Each objSubFolder In objMainFolder.SubFolders 50 FindFolder objSubFolder 51 Next 52 53 For Each objFile In objMainFolder.files 54 strNewFilePath = objFile.ParentFolder & "\" & objFile.Name 55 ary.add strNewFilePath 56 57 Next 58 59 FindFolder = ary ’これだとErrが出ます… 60 61End Function
回答2件
あなたの回答
tips
プレビュー