Csv 列出文件夹和子文件夹中的文件,并将结果输出到每个父文件夹的多个文件中
我正在使用代码列出文件夹中的文件Csv 列出文件夹和子文件夹中的文件,并将结果输出到每个父文件夹的多个文件中,csv,vbscript,Csv,Vbscript,我正在使用代码列出文件夹中的文件 Dim fso Dim ObjOutFile Set fso = CreateObject("Scripting.FileSystemObject") Set ObjOutFile = fso.CreateTextFile(GetFiles(FolderName) & "_"&"OutputFiles.csv") ObjOutFile.WriteLine("Type,File Name,File Path") GetFiles("YOUR L
Dim fso
Dim ObjOutFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set ObjOutFile = fso.CreateTextFile(GetFiles(FolderName) & "_"&"OutputFiles.csv")
ObjOutFile.WriteLine("Type,File Name,File Path")
GetFiles("YOUR LOCATION")
ObjOutFile.Close
WScript.Echo("Completed")
Function GetFiles(FolderName)
On Error Resume Next
Dim ObjFolder
Dim ObjSubFolders
Dim ObjSubFolder
Dim ObjFiles
Dim ObjFile
Set ObjFolder = fso.GetFolder(FolderName)
Set ObjFiles = ObjFolder.Files
For Each ObjFile In ObjFiles
ObjOutFile.WriteLine("File," & ObjFile.Name & "," & ObjFile.Path)
Next
Set ObjSubFolders = ObjFolder.SubFolders
For Each ObjFolder In ObjSubFolders
ObjOutFile.WriteLine("Folder," & ObjFolder.Name & "," & ObjFolder.Path)
GetFiles(ObjFolder.Path)
Next
End Function
我得到的输出为_OutputFiles.csv
如果我在文件夹中运行脚本,我希望输出为
新文件夹(3)\u OutputFiles.csv
新文件夹(2)\u OutputFiles.csv
列出了所有文件
请建议如何实现,以便分别获取每个父文件夹的输出。获取父文件夹名称后,必须移动输出文件的定义,并包括文件夹的.name属性
Dim fso
Dim ObjOutFile
Set fso = CreateObject("Scripting.FileSystemObject")
GetFiles("YOUR LOCATION")
ObjOutFile.Close
WScript.Echo("Completed")
Function GetFiles(FolderName)
On Error Resume Next
Dim ObjFolder
Dim ObjSubFolders
Dim ObjSubFolder
Dim ObjFiles
Dim ObjFile
Set ObjFolder = fso.GetFolder(FolderName)
Set ObjOutFile = fso.CreateTextFile(GetFiles(FolderName.Name) & "_"&"OutputFiles.csv")
ObjOutFile.WriteLine("Type,File Name,File Path")
Set ObjFiles = ObjFolder.Files
For Each ObjFile In ObjFiles
ObjOutFile.WriteLine("File," & ObjFile.Name & "," & ObjFile.Path)
Next
Set ObjSubFolders = ObjFolder.SubFolders
For Each ObjFolder In ObjSubFolders
ObjOutFile.WriteLine("Folder," & ObjFolder.Name & "," & ObjFolder.Path)
GetFiles(ObjFolder.Path)
Next
End Function
因此,这不是一个代码(重新)编写服务。到目前为止,您尝试了什么,您需要帮助解决什么特定问题?@Ansgar Wiechers-我想为每个父文件夹获得多个输出。我不知道在上面的代码中把这个条件放在哪里。显然,对于(MyLocation)ObjOutFile=fso.CreateTextFile(ObjFolder.Name&“&”OutputFiles.csv”)中的每个ObjFolder,以及处理输出文件的代码。请设置ObjOutFile=fso.CreateTextFile(GetFiles(FolderName)&“&”OutputFiles.csv“)'我添加了这一行,但它作为_output.csv运行。请使用您当前拥有的完整非工作代码以及简明的问题描述更新您的问题。我不会从你在评论中的点点滴滴猜出问题出在哪里。