权限被拒绝,即使我在VBScript中具有管理员权限

权限被拒绝,即使我在VBScript中具有管理员权限,vbscript,Vbscript,您好,我正在开发一个程序,可以搜索整个C:驱动器中具有特定名称的文件夹。到目前为止,我的程序是这样的: Const startDir = "c:\" Set oFSO = CreateObject("Scripting.FileSystemObject") sFileName = "setup.txt" Set oFolder = oFSO.GetFolder(startDir) Recurse(oFolder) Sub Re

您好,我正在开发一个程序,可以搜索整个C:驱动器中具有特定名称的文件夹。到目前为止,我的程序是这样的:

Const startDir = "c:\"
Set oFSO   = CreateObject("Scripting.FileSystemObject")
sFileName  = "setup.txt"

Set oFolder = oFSO.GetFolder(startDir)
Recurse(oFolder)

Sub Recurse(oFldr)
    If IsAccessible(oFolder) Then
        For Each oSubFolder In oFldr.SubFolders
             Recurse oSubFolder
        Next

        For Each oFile In oFldr.Files
            If LCase(oFile.Name) = sFileName Then WScript.Echo sFileName, "exists."
        Next
    End If
End Sub

Function IsAccessible(oFolder)
  On Error Resume Next
  IsAccessible = (oFolder.SubFolders.Count >= 0)
End Function
但是,当我运行此命令时,我在第10行得到一个错误:oFldr中的每个OSUBfolders都有一个错误。子文件夹错误:权限被拒绝。因此,我添加了一些行,使脚本请求管理员访问权限,结果如下所示:

Sub RunAsAdmin()
    if WScript.Arguments.length = 0 Then
        CreateObject("Shell.Application").ShellExecute "WScript.exe", """" & _
        WScript.ScriptFullName & """ AdminArg", "", "runas", 1
        WScript.Quit
    End If
End Sub : RunAsAdmin()

set owss = createobject("wscript.shell")
owss.run "cmd /k net user administrator /active:yes"

CreateObject("WScript.Shell").Run("C:\Users\alexh\OneDrive\Skrivbord\VBScript\fileSearching.vbs")

但我还是得到了同样的信息。有人知道发生了什么事吗?

如果可以(文件夹),那么
应该是:
如果可以(文件夹)然后
@从技术上讲,它仍然可以工作,因为文件夹的
是在全局范围内定义的,但是依赖全局变量而不是将所需内容传递到函数中是不好的做法,想象一下这只是一个打字问题。