获取当前目录下的文件列表

问题描述 投票:0回答:2

我正在尝试获取一个脚本来读取脚本文件所在目录的内容,然后根据部分名称识别几个特定文件并压缩它们。但我无法让

object.Files
属性发挥作用。有人可以告诉我这里出了什么问题吗?

Set FSO = CreateObject("Scripting.FileSystemObject")
objFolder = FSO.GetParentFolderName(WScript.ScriptFullName)
Set allFiles = objFolder.Files
For Each objFile in allFiles
    Wscript.Echo objFile.Name
Next
vbscript
2个回答
4
投票

你的

objFolder = FSO.GetParentFolderName(WScript.ScriptFullName)

为 objFolder 分配一个路径(字符串)(检测到类型前缀欺诈!)。使用

Set objFolder = FSO.GetFolder(FSO.GetParentFolderName(WScript.ScriptFullName))

相反。


0
投票

以下是获取给定目录中文件列表的代码:

Dim fso, folder, files, OutputFile
Dim strPath
 
' Create a FileSystemObject  
Set fso = CreateObject("Scripting.FileSystemObject")
 
' Define the folder we want to list files from
strPath = "C:\Users\shubhamVerma\OneDrive\Pictures\Camera Roll"
 
Set folder = fso.GetFolder(strPath)
Set files = folder.Files
 
' Create text file to output test data
Set OutputFile = fso.CreateTextFile("ScriptOutput.txt", True)
 
' Loop through each file  
For each item In files
    OutputFile.WriteLine(item.Name)

    ' Output file properties to a text file
    '   OutputFile.WriteLine(item.Name)
    '   OutputFile.WriteLine(item.Attributes)
    '   OutputFile.WriteLine(item.DateCreated)
    '   OutputFile.WriteLine(item.DateLastAccessed)
    '   OutputFile.WriteLine(item.DateLastModified)
    '   OutputFile.WriteLine(item.Drive)
    '   OutputFile.WriteLine(item.ParentFolder)
    '   OutputFile.WriteLine(item.Path)
    '   OutputFile.WriteLine(item.ShortName)
    '   OutputFile.WriteLine(item.ShortPath)
    '   OutputFile.WriteLine(item.Size)
    '   OutputFile.WriteLine(item.Type)   
    '   OutputFile.WriteLine("")
Next
 
' Close text file
OutputFile.Close

© www.soinside.com 2019 - 2024. All rights reserved.