这段代码的目的是遍历指定文件夹下的所有文件,并将文件夹和文件的路径分别输出到两个文本文件中。

'On Error Resume Next' '跳过错误 ' 设置路径和文件名 a=createobject("Scripting.FileSystemObject").GetFolder(".").Path AAA=inputbox("填写文件位置:") A1 = a & "\文件1.txt" A2 = a & "\文件2.txt"

' 创建文件夹列表.txt和文件列表.txt Set objFSO = CreateObject("Scripting.FileSystemObject") Set objOutFolder = objFSO.CreateTextFile(A1, True) Set objOutFile = objFSO.CreateTextFile(A2, True) ' 遍历文件夹A Set objFolder = objFSO.GetFolder(AAA) ListFolder objFolder

Sub ListFolder(objFolder) ' 输出文件夹名到文件夹列表.txt objOutFolder.WriteLine(objFolder.Path)

' 遍历文件夹中的文件
For Each objFile In objFolder.Files
    ' 输出文件名到文件列表.txt
    objOutFile.WriteLine(objFile.Path)
Next

' 递归遍历子文件夹
For Each objSubFolder In objFolder.SubFolders
    ListFolder objSubFolder
Next

End Sub

' 关闭文件 objOutFolder.Close objOutFile.Close

在某些情况下,可能会遇到提示无权限的问题。这通常是因为运行脚本的用户没有足够的权限来访问某些文件夹或文件。

要解决这个问题,您可以尝试以下几种方法:

  1. 以管理员身份运行脚本:右键单击脚本文件,选择“以管理员身份运行”。这样可以获得更高的权限,可能能够访问被限制的文件夹和文件。

  2. 修改文件夹和文件的权限:右键单击受限制的文件夹和文件,选择“属性” -> “安全” -> “编辑” -> “添加”,然后添加当前用户并授予适当的权限。

请注意,修改文件夹和文件的权限可能会对系统安全性造成影响,请谨慎操作。

另外,建议在代码中添加错误处理的逻辑,以便在遇到无权限的情况下给出提示或进行其他处理。例如:

' 遍历文件夹A
Set objFolder = objFSO.GetFolder(AAA)
If Not objFolder Is Nothing Then
    ListFolder objFolder
Else
    MsgBox "无法访问文件夹:" & AAA
End If

这样,如果无法访问指定的文件夹,将会弹出一个提示框来提醒用户。您可以根据实际需求进行相应的处理。

VBS 遍历文件夹并输出文件路径:解决无权限问题

原文地址: https://www.cveoy.top/t/topic/bQ2f 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录