あるフォルダ以下のファイル名を出力ファイル、f.name.txtに書き出すのですが
"新しいフォルダ"というフォルダのなかにあるファイルは書き出さないようにしたいのですが、意に反してフォルダー内の全てのファイル名を書き出してしまいます。どこがおかしいのでしょう?
**********************************************
Set FSO = CreateObject("Scripting.FileSystemObject")
Set fl = WScript.CreateObject("Scripting.FileSystemObject")
Set abc = fl.CreateTextFile("f.name.txt")
ShowSubfolders FSO.GetFolder(".")
Sub ShowSubFolders(Folder)
For Each File in Folder.Files 'Folder内のファイルを列挙する
Fname = File.name
FolderCheck=Folder & "\" & "新しいフォルダ"
If Folder <> FolderCheck Then
abc.Write Folder & "\" & Fname & vbCrLf
End If
Next
For Each Subfolder in Folder.SubFolders 'Foler内のフォルダを列挙する
ShowSubFolders Subfolder '再帰呼び出し
Next
End Sub
abc.Close
Sub ShowSubFolders(Folder)
'*** ここでフォルダ名が「新しいフォルダ」なら処理をスキップする
If Folder.Name <> "新しいフォルダ" Then
For Each File in Folder.Files 'Folder内のファイルを列挙する
abc.WriteLine File.Path
Next
End If
以下略
お礼
有難うございました!正常に動きました。