0

希望有人可以提供帮助,因为我不太清楚这个:(

我有以下 vbs 来设置对指定目录(C:\test)中子文件夹列表的权限,并基于指定的用户帐户(Test1);

    Dim intRunError, objShell, objFSO

Set objShell = CreateObject("Wscript.Shell")
set objFSO = CreateObject("Scripting.FileSystemObject")

 For Each objFolder In objFSO.GetFolder("c:\Test").SubFolders
        If objFSO.FolderExists(objFolder) Then
            intRunError = objShell.Run("%COMSPEC% /c Echo Y| icacls " _
            & objFolder & " /grant:r Test1:(OI)(CI)F /T", 2, True)

            If intRunError <> 0 Then
                Wscript.Echo "Error assigning permissions for user " _
                & objFolder.Name & " to the folder " & objFolder
        End If
    End If

 Next

这一切都很好。但是,我真正想要的是为将获得权限集的帐户使用一个变量。就我而言,文件夹的名称将始终是正确的用户名。所以我希望使用一个变量,例如:

& objFolder & " /grant:r objFolder.Name:(OI)(CI)F /T", 2, True)

但是,显然这不起作用,因为它被写为文字字符串。我尝试了一些格式变化,但似乎无法让它做我需要的。

有人能帮忙吗?

提前致谢!

亚当

4

1 回答 1

0

刚想通,应该是:

& objFolder & " /grant:r " & objFolder.Name & ":(OI)(CI)F /T", 2, True)

亚当

于 2018-12-28T16:42:01.787 回答