興味深いファイルを含むフォルダがあなたの日付ディレクトリのサブフォルダている場合は、ネストされたループを使用することができます
Dim sDFolder : sDFolder = "..\data\20110105"
Dim dicFiNa : Set dicFiNa = CreateObject("Scripting.Dictionary")
dicFiNa("1.txt") = ""
dicFiNa("3.txt") = ""
dicFiNa("5.txt") = ""
Dim oRDir : Set oRDir = goFS.GetFolder(sDFolder)
Dim oSDir
For Each oSDir In oRDir.SubFolders
Dim oFile
For Each oFile In oSDir.Files
WScript.Echo "looking at", oFile.Path
If dicFiNa.Exists(oFile.Name) Then
WScript.Echo "found", oFile.Name, "will copy"
End If
Next
Next
を出力:
looking at E:\trials\SoTrials\answers\8750206\data\20110105\whatever\6.txt
looking at E:\trials\SoTrials\answers\8750206\data\20110105\whatever\5.txt
found 5.txt will copy
looking at E:\trials\SoTrials\answers\8750206\data\20110105\unknown\4.txt
looking at E:\trials\SoTrials\answers\8750206\data\20110105\unknown\3.txt
found 3.txt will copy
looking at E:\trials\SoTrials\answers\8750206\data\20110105\puzzle\2.txt
looking at E:\trials\SoTrials\answers\8750206\data\20110105\puzzle\1.txt
found 1.txt will copy
フル再帰徒歩もう少しだろうあなたがそれを必要とするならば、そう言ってください。ちょうど楽しみのため
:再帰バージョン:
Dim sDFolder : sDFolder = "..\data\20110105"
Dim dicFiNa : Set dicFiNa = CreateObject("Scripting.Dictionary")
dicFiNa("1.txt") = ""
dicFiNa("3.txt") = ""
dicFiNa("55.txt") = ""
Dim oRDir : Set oRDir = goFS.GetFolder(sDFolder)
walk oRDir, dicFiNa, "whatever you need to copy the files"
Sub walk(oDir, dicFiNa, vCargo)
Dim oItem
For Each oItem In oDir.Files
WScript.Echo "looking at", oItem.Path
If dicFiNa.Exists(oItem.Name) Then
WScript.Echo "found", oItem.Name, "will copy"
End If
Next
For Each oItem In oDir.SubFolders
walk oItem, dicFiNa, vCargo
Next
End Sub
出力:
looking at E:\trials\SoTrials\answers\8750206\data\20110105\whatever\6.txt
looking at E:\trials\SoTrials\answers\8750206\data\20110105\whatever\5.txt
looking at E:\trials\SoTrials\answers\8750206\data\20110105\unknown\4.txt
looking at E:\trials\SoTrials\answers\8750206\data\20110105\unknown\3.txt
found 3.txt will copy *
looking at E:\trials\SoTrials\answers\8750206\data\20110105\puzzle\2.txt
looking at E:\trials\SoTrials\answers\8750206\data\20110105\puzzle\1.txt
found 1.txt will copy *
looking at E:\trials\SoTrials\answers\8750206\data\20110105\puzzle\deep\deeper\55.txt
found 55.txt will copy *
(*)とすぐに権限の問題が解決されます。
私は現在の日付を引いて1を引いて、そのフォルダを入力できるスクリプトを持っています。その後、私は立ち往生した。私のVBSはむしろかなり錆びていて、かなり長い間使用されていないので、コマンドが何をすることができるのかを正確に覚えている。 – YodaEXE