0

第一次海报长期读者。我想说谢谢你们所有的工作。我一直在做一个 VB 项目,目前我们有一些用 dos 编写的工具,但是它已经过时并且目前不适用于 &%^$。我批的就是这个。

if exist %userprofile%\Local GOTO W7

RD  /s /q "%userprofile%\Local Settings\Application Data\Our Company Folder"

RD  /s /q "%userprofile%\AppData\Local\Our Company Folder"

这样做是在发生损坏时删除我们公司的配置文件夹。

由于我们在 VB 中创建了一个支持工具,因此我想将此命令更改为 VB。

这就是我现在所拥有的

     Dim fso
        Dim wshshell As Object
        Dim USRPROFILE
        fso = CreateObject("scripting.filesystemobject")
        wshshell = CreateObject("wscript.shell")
        USRPROFILE = wshshell.expandenvironmentstrings("%APPDATA%")
        If fso.FolderExists(USRPROFILE & "\Our Company Folder") Then
            fso.DeleteFolder(USRPROFILE & "\Our Company Folder")
        End If
        USRPROFILE = wshshell.expandenvironmentstrings("%HOMEPATH%")
        If fso.FolderExists(USRPROFILE & "\Local Settings\Application Data\Our Company Folder") Then
            fso.DeleteFolder(USRPROFILE & "\Local Settings\Application Data\Our Company Folder")
      End If
End Sub

但是我收到此错误消息。Microsoft.VisualBasic.dll 中出现“System.Security.SecurityException”类型的未处理异常

附加信息:HRESULT 异常:0x800A0046 (CTL_E_PERMISSIONDENIED)

4

2 回答 2

0

我会读到这条消息,因为运行 VB 代码的用户没有删除文件夹的权限。

于 2013-07-02T15:48:44.550 回答
0

这就是您执行程序的任何人都没有正确的权限,因此您有几个选择。

  • 更改文件夹权限
  • 以具有权限的人身份登录
  • 或者按照以下链接中的建议以其他人的身份运行该过程:

VB.Net - 使用“以管理员身份运行”的进程执行 vbscript

于 2013-07-02T19:52:02.820 回答