咔叽游戏

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 500|回复: 0

[vbs] vbs提示没有在该机执行windows脚本宿主的权限。请与系统管理员联系

[复制链接]
  • TA的每日心情
    无聊
    2019-5-27 08:20
  • 签到天数: 4 天

    [LV.2]圆转纯熟

    发表于 2020-9-15 12:34:05 | 显示全部楼层 |阅读模式
    最近在项目中使用VBS来实现图片的批量删除和批量导入功能,但不知道为什么,只要在我机器上一运行VBS文件就提示“没有在该机执行windows脚本宿主的权限。请与系统管理员联系。”的错误。下面贴出本人的解决方法,并附上图片批量导入及批量删除的VBS代码。
    如果只是因为权限问题可以查看这篇文章:
    以管理员身份运行程序的vbs命令
    1、检查系统是否禁止使用了脚本运行,即打开“INTERNET选项”的“安全”选项卡里“自定义级别”,看看“ActiveX空件及服务”禁用的选项。
    2、运行 regsvr32 scrrun.dll,即打开运行输入CMD,输入regsvr32 scrrun.dll,再回车。
    3、最关键的一步,即看看注册表里的这个位置HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Script Host\Settings在右边的窗口中是不是有个名为 Enabled的DWORD键值,有的话把它删除或者把值该为 1 即可。
    4、重新运行VBS文件即将正常。
    VBS批量导入图片功能
    1. '****************** Const ****************
    2. '---- CuRsorTypeEnum Values ----
    3. Const adOpenForwardOnly = 0
    4. Const adOpenKeyset = 1
    5. Const adOpenDynamic = 2
    6. Const adOpenStatic = 3
    7. '---- LockTypeEnum Values ----
    8. Const adLockReadOnly = 1
    9. Const adLockPessimistic = 2
    10. Const adLockOptimistic = 3
    11. Const adLockBatchOptimistic = 4
    12. '---- CuRsorLocationEnum Values ----
    13. Const adUseServer = 2
    14. Const adUseClient = 3
    15. '---- Custom Values ----
    16. Const cuDSN = "test"
    17. Const cuUsername = "sa"
    18. Const cuPassword = ""
    19. '*************** main sub ******************
    20. Call ImageExport()
    21. '*************** define function ***********
    22. Function ImageExport()
    23.   'on error resume next
    24.   Dim sSQL,Rs,Conn,sfzRs,sFilePath,sImgFile,xml
    25.   Dim Ados,fso,f,oShell,sErrFile,sSucFile,iErr,iSuc
    26.   Set fso = CreateObject("Scripting.FileSystemObject")
    27.     ' Create Stream Object
    28.   set Ados=CreateObject("Adodb.Stream")
    29.     Ados.Mode=3
    30.     Ados.Type=1
    31.   Set Conn=CreateObject ("adodb.Connection")
    32.   Conn.CuRsorLocation =adUseClient
    33.   Call Init_Connection(Conn)
    34.   Set Rs=CreateObject ("adodb.recordset")
    35.   Set sfzRs=CreateObject ("adodb.recordset")
    36.   sFilePath=WScript.ScriptFullName
    37.   sFilePath=left(sFilePath,len(sFilePath)-len(WScript.ScriptName))  
    38. ssql="SELECT RYBH, PHOTO FROM TP_ZPXX WHERE (RYBH IN (SELECT DISTINCT RYBH FROM TP_BMKM WHERE (KSZQBH = 18) AND (JFBZ = 1)))"
    39.   sfzRs.Open sSQL,Conn,adOpenForwardOnly
    40.   iSuc=sfzRs.RecordCount
    41.   'Get SFZH From DataBase and import images
    42.   while not sfzRs.EOF
    43.     sImgFile= sFilePath & sfzRs("RYBH") & ".jpg"  
    44.     Ados.Open     
    45.     Ados.Write (sfzRs("PHOTO").GetChunk(4500000))   
    46.     Ados.SaveToFile sImgFile,1     
    47.     sfzRs.MoveNext     
    48.     Ados.Close
    49.   wend
    50.   sfzRs.Close
    51.   Conn.Close
    52.   'Release Object
    53.   set Rs=nothing:set sfzRs=nothing:set Conn=nothing:set Ados=nothing
    54.   msgbox iSuc & "张照片导出成功",64 ,"照片导出"
    55.   'Quit
    56.   WScript.Quit
    57. End Function
    58. Function Init_Connection(Conn)
    59.   on error resume next  
    60. ConnStr = "Provider=SQLOLEDB;Data Source=192.168.64.114;" & _
    61.         "Initial Catalog=VoteInfo;User Id=sa;Password=123456;timeout=50"
    62.   Conn.Open ConnStr  
    63.   If Err.number Then   
    64.     msgbox "数据库联接失败",16 ,"照片导出"
    65.     exit function
    66.   End If
    67. End Function
    复制代码
    VBS批量删除图片功能
    1. '****************** Const ****************
    2. '---- CuRsorTypeEnum Values ----
    3. Const adOpenForwardOnly = 0
    4. Const adOpenKeyset = 1
    5. Const adOpenDynamic = 2
    6. Const adOpenStatic = 3
    7. '---- LockTypeEnum Values ----
    8. Const adLockReadOnly = 1
    9. Const adLockPessimistic = 2
    10. Const adLockOptimistic = 3
    11. Const adLockBatchOptimistic = 4
    12. '---- CuRsorLocationEnum Values ----
    13. Const adUseServer = 2
    14. Const adUseClient = 3
    15. '---- Custom Values ----
    16. Const cuDSN = "test"
    17. Const cuUsername = "sa"
    18. Const cuPassword = ""
    19. '*************** main sub ******************
    20. Call ImageExport()
    21. '*************** define function ***********
    22. Function ImageExport()
    23.   'on error resume next
    24.   Dim sSQL,Rs,Conn,sfzRs,xml
    25.   Dim Ados,fso,f,oShell,sErrFile,sSucFile,iErr,iSuc  'iSuc 文件总数
    26.   Dim PicPath,PhysicPath,DelCount '删除文件数
    27.   Set fso = CreateObject("Scripting.FileSystemObject")
    28.     ' Create Stream Object
    29.   set Ados=CreateObject("Adodb.Stream")
    30.     Ados.Mode=3
    31.     Ados.Type=1
    32.   Set Conn=CreateObject ("adodb.Connection")
    33.   Conn.CuRsorLocation =adUseClient
    34.   Call Init_Connection(Conn)
    35.   Set Rs=CreateObject ("adodb.recordset")
    36.   Set sfzRs=CreateObject ("adodb.recordset")  
    37.   sSQL="select sPath,sFile from ScanFile"
    38.   sfzRs.Open sSQL,Conn,adOpenForwardOnly
    39.   iSuc=sfzRs.RecordCount
    40.   'Get SFZH From DataBase and import images
    41.   while not sfzRs.EOF
    42.     PhysicPath="E:\VBS删除照片小程序" '物理路径   
    43.     Ados.Open   
    44.     PicPath =PhysicPath & sfzRs("sPath") &"" &  sfzRs("sFile")   
    45.     If (fso.FileExists(PicPath)) Then
    46.       fso.DeleteFile(PicPath)  
    47.       DelCount=DelCount+1
    48.     end if   
    49.     sfzRs.MoveNext     
    50.     Ados.Close
    51.     if iSuc-DelCount=iSuc Then
    52.       DelCount=0
    53.     end if   
    54.   wend
    55.   sfzRs.Close
    56.   Conn.Close
    57.   'Release Object
    58.   set Rs=nothing:set sfzRs=nothing:set Conn=nothing:set Ados=nothing:set fso=nothing
    59.   msgbox "共需要删除" & iSuc & "张照片,其中" & DelCount & "张照片删除成功," &iSuc-DelCount & "张照片未找到!",64 ,"照片删除"
    60.   'Quit
    61.   WScript.Quit
    62. End Function
    63. Function Init_Connection(Conn)
    64.   on error resume next  
    65. ConnStr = "Provider=SQLOLEDB;Data Source=192.168.64.114;" & _
    66.         "Initial Catalog=VoteInfo;User Id=sa;Password=123456;timeout=50"
    67.   Conn.Open ConnStr  
    68.   If Err.number Then   
    69.     msgbox "数据库联接失败",16 ,"照片删除"
    70.     exit function
    71.   End If
    72. End Function
    复制代码
    到此这篇关于vbs提示没有在该机执行windows脚本宿主的权限。请与系统管理员联系的文章就介绍到这了,更多相关windows脚本宿主的权限内容请搜索咔叽论坛以前的文章或继续浏览下面的相关文章希望大家以后多多支持咔叽论坛!

    原文地址:https://www.jb51.net/article/193693.htm

    QQ|免责声明|小黑屋|手机版|Archiver|咔叽游戏

    GMT+8, 2024-3-19 15:16

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表