第一次海报长时间读者。我想说谢谢你们所有的工作。我一直在研究一个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)
答案 0 :(得分:0)
我将阅读该消息,因为运行VB代码的用户无权删除该文件夹。
答案 1 :(得分:0)
这是因为您没有正确的权限而执行程序的任何人,所以您有几个选项。
VB.Net - execute vbscript using process with 'run as administrator'