如何在Windows脚本中以管理员身份删除文件夹? [英] How can I delete folder as adminstrator in windows script?
问题描述
我为我的应用程序开发了一个卸载程序Windows脚本文件.
我正在尝试从Programfiles(x86)删除文件夹,但出现此错误
I developed an uninstaller windows script file for my application.
I'm trying to delete a folder from Programfiles (x86) but I'm getting this error
Microsoft VBScript运行时错误'800A0046'
拒绝权限
我的代码在下面.
Dim shell,系统路径
Dim shell, systempath
&set shell = WScript.CreateObject(" WScript.Shell")
set shell = WScript.CreateObject( "WScript.Shell" )
systempath = shell.ExpandEnvironmentStrings(%SystemRoot%")
systempath = shell.ExpandEnvironmentStrings("%SystemRoot%")
shell.Run Chr(34)&系统路径和"\ system32 \ msiexec.exe" & Chr(34)& /x {ProductCode}"
对于CreateObject("Scripting.FileSystemObject").GetFolder("C:\ Program Files(x86)\ XXXXX")中的每个f.SubFolders
如果LCase(f.Name)<> "dev"然后
f.删除
如果错误,那么
WScript.Echo错误删除:" &姓名& " -" &错误说明
其他
WScript.Echo已删除:" &名称
如果结束
出现错误时转到0
如果结束
下一步
WScript.Quit
shell.Run Chr(34) & systempath & "\system32\msiexec.exe" & Chr(34) & " /x{ProductCode}"
For Each f In CreateObject("Scripting.FileSystemObject").GetFolder("C:\Program Files (x86)\XXXXX").SubFolders
If LCase(f.Name) <> "dev" Then
f.Delete
If Err Then
WScript.Echo "Error deleting:" & Name & " - " & Err.Description
Else
WScript.Echo "Deleted:" & Name
End If
On Error GoTo 0
End If
Next
WScript.Quit
我该如何解决这个问题?
How can I solve this problem?
推荐答案
这不是VB.NET问题,但错误很明显.您无权删除给定的文件.程序文件文件夹中的任何文件都只能通过提升为管理员权限的进程来删除.您的卸载程序需要以管理员身份运行 权利.
This isn't a VB.NET question, but the error is pretty clear. You don't have permission to delete the given file. Any files in the program files folder can only be deleted by a process elevated to admin rights. Your uninstaller needs to be run with admin rights.
这篇关于如何在Windows脚本中以管理员身份删除文件夹?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!