vbs提示没有在该机执行windows脚本宿主的权限。请与系统管理员联系
最近在项目中使用VBS来实现图片的批量删除和批量导入功能,但不知道为什么,只要在我机器上一运行VBS文件就提示“没有在该机执行windows脚本宿主的权限。请与系统管理员联系。”的错误。下面贴出本人的解决方法,并附上图片批量导入及批量删除的VBS代码。
如果只是因为权限问题可以查看这篇文章:
以管理员身份运行程序的vbs命令
1、检查系统是否禁止使用了脚本运行,即打开“INTERNET选项”的“安全”选项卡里“自定义级别”,看看“ActiveX空件及服务”禁用的选项。
2、运行regsvr32scrrun.dll,即打开运行输入CMD,输入regsvr32scrrun.dll,再回车。
3、最关键的一步,即看看注册表里的这个位置HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsScriptHost\Settings在右边的窗口中是不是有个名为Enabled的DWORD键值,有的话把它删除或者把值该为1即可。
4、重新运行VBS文件即将正常。
VBS批量导入图片功能
'******************Const****************
'----CuRsorTypeEnumValues----
ConstadOpenForwardOnly=0
ConstadOpenKeyset=1
ConstadOpenDynamic=2
ConstadOpenStatic=3
'----LockTypeEnumValues----
ConstadLockReadOnly=1
ConstadLockPessimistic=2
ConstadLockOptimistic=3
ConstadLockBatchOptimistic=4
'----CuRsorLocationEnumValues----
ConstadUseServer=2
ConstadUseClient=3
'----CustomValues----
ConstcuDSN="test"
ConstcuUsername="sa"
ConstcuPassword=""
'***************mainsub******************
CallImageExport()
'***************definefunction***********
FunctionImageExport()
'onerrorresumenext
DimsSQL,Rs,Conn,sfzRs,sFilePath,sImgFile,xml
DimAdos,fso,f,oShell,sErrFile,sSucFile,iErr,iSuc
Setfso=CreateObject("Scripting.FileSystemObject")
'CreateStreamObject
setAdos=CreateObject("Adodb.Stream")
Ados.Mode=3
Ados.Type=1
SetConn=CreateObject("adodb.Connection")
Conn.CuRsorLocation=adUseClient
CallInit_Connection(Conn)
SetRs=CreateObject("adodb.recordset")
SetsfzRs=CreateObject("adodb.recordset")
sFilePath=WScript.ScriptFullName
sFilePath=left(sFilePath,len(sFilePath)-len(WScript.ScriptName))
ssql="SELECTRYBH,PHOTOFROMTP_ZPXXWHERE(RYBHIN(SELECTDISTINCTRYBHFROMTP_BMKMWHERE(KSZQBH=18)AND(JFBZ=1)))"
sfzRs.OpensSQL,Conn,adOpenForwardOnly
iSuc=sfzRs.RecordCount
'GetSFZHFromDataBaseandimportimages
whilenotsfzRs.EOF
sImgFile=sFilePath&sfzRs("RYBH")&".jpg"
Ados.Open
Ados.Write(sfzRs("PHOTO").GetChunk(4500000))
Ados.SaveToFilesImgFile,1
sfzRs.MoveNext
Ados.Close
wend
sfzRs.Close
Conn.Close
'ReleaseObject
setRs=nothing:setsfzRs=nothing:setConn=nothing:setAdos=nothing
msgboxiSuc&"张照片导出成功",64,"照片导出"
'Quit
WScript.Quit
EndFunction
FunctionInit_Connection(Conn)
onerrorresumenext
ConnStr="Provider=SQLOLEDB;DataSource=192.168.64.114;"&_
"InitialCatalog=VoteInfo;UserId=sa;Password=123456;timeout=50"
Conn.OpenConnStr
IfErr.numberThen
msgbox"数据库联接失败",16,"照片导出"
exitfunction
EndIf
EndFunction
VBS批量删除图片功能
'******************Const****************
'----CuRsorTypeEnumValues----
ConstadOpenForwardOnly=0
ConstadOpenKeyset=1
ConstadOpenDynamic=2
ConstadOpenStatic=3
'----LockTypeEnumValues----
ConstadLockReadOnly=1
ConstadLockPessimistic=2
ConstadLockOptimistic=3
ConstadLockBatchOptimistic=4
'----CuRsorLocationEnumValues----
ConstadUseServer=2
ConstadUseClient=3
'----CustomValues----
ConstcuDSN="test"
ConstcuUsername="sa"
ConstcuPassword=""
'***************mainsub******************
CallImageExport()
'***************definefunction***********
FunctionImageExport()
'onerrorresumenext
DimsSQL,Rs,Conn,sfzRs,xml
DimAdos,fso,f,oShell,sErrFile,sSucFile,iErr,iSuc'iSuc文件总数
DimPicPath,PhysicPath,DelCount'删除文件数
Setfso=CreateObject("Scripting.FileSystemObject")
'CreateStreamObject
setAdos=CreateObject("Adodb.Stream")
Ados.Mode=3
Ados.Type=1
SetConn=CreateObject("adodb.Connection")
Conn.CuRsorLocation=adUseClient
CallInit_Connection(Conn)
SetRs=CreateObject("adodb.recordset")
SetsfzRs=CreateObject("adodb.recordset")
sSQL="selectsPath,sFilefromScanFile"
sfzRs.OpensSQL,Conn,adOpenForwardOnly
iSuc=sfzRs.RecordCount
'GetSFZHFromDataBaseandimportimages
whilenotsfzRs.EOF
PhysicPath="E:\VBS删除照片小程序"'物理路径
Ados.Open
PicPath=PhysicPath&sfzRs("sPath")&"\"&sfzRs("sFile")
If(fso.FileExists(PicPath))Then
fso.DeleteFile(PicPath)
DelCount=DelCount+1
endif
sfzRs.MoveNext
Ados.Close
ifiSuc-DelCount=iSucThen
DelCount=0
endif
wend
sfzRs.Close
Conn.Close
'ReleaseObject
setRs=nothing:setsfzRs=nothing:setConn=nothing:setAdos=nothing:setfso=nothing
msgbox"共需要删除"&iSuc&"张照片,其中"&DelCount&"张照片删除成功,"&iSuc-DelCount&"张照片未找到!",64,"照片删除"
'Quit
WScript.Quit
EndFunction
FunctionInit_Connection(Conn)
onerrorresumenext
ConnStr="Provider=SQLOLEDB;DataSource=192.168.64.114;"&_
"InitialCatalog=VoteInfo;UserId=sa;Password=123456;timeout=50"
Conn.OpenConnStr
IfErr.numberThen
msgbox"数据库联接失败",16,"照片删除"
exitfunction
EndIf
EndFunction
到此这篇关于vbs提示没有在该机执行windows脚本宿主的权限。请与系统管理员联系的文章就介绍到这了,更多相关windows脚本宿主的权限内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。