V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dabpop139
V2EX  ›  程序员

VBS 脚步都有那些实用而强悍的脚步

  •  1
     
  •   dabpop139 · 2016-07-30 12:28:45 +08:00 · 3757 次点击
    这是一个创建于 2820 天前的主题,其中的信息可能已经有所发展或是发生改变。

    VBS 脚步都有那些实用而强悍的脚步

    我先来几个

    IP 安全策略

    Netsh IPsec static add filter filterlist = 任意通迅禁止 IP 段 srcaddr = 203.86.31.0 srcmask = 255.255.255.0 dstaddr = me dstport = 0 description = 203.86.31.0 protocol = any mirrored = yes
    

    调用 rar 完成自动压缩打包功能

    set wshell=createobject("WScript.Shell")
    set fso=createobject("Scripting.FileSystemObject")
    path=wshell.regread("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe\Path")
    path=fso.getfile(path&"\rar.exe").shortpath
    
    ……
    wshell.run path&" a -m0 -p123456 abc.rar D:\abc",0 '加 ,0 表示不显示窗口
    

    AC 数据库压缩

    pathb="D:\www\data\#subscribe.mdb"
    
    set fso = createobject("scripting.filesystemobject")
    set engine = createobject("jro.jetengine")
    
    engine.compactdatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & pathb, _
    						"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & pathb & "_temp.mdb"
    fso.copyfile pathb & "_temp.mdb",pathb
    fso.deletefile(pathb & "_temp.mdb")
    
    
    set fso = nothing
    set engine = nothing
    

    IIS 进程池守候

    dim sw
    sw=1
    do while sw
    	set fso=createobject("Scripting.FileSystemObject")
    	set fw=fso.opentextfile("d:\iispools.txt",8,true) 'param2 8:addto 2:rewrite; param3 true:not exit create is;
    
    	set apppools=getobject("IIS://LocalHost/W3SVC/AppPools")
    	for each apppool in apppools
    		'msgbox apppool.apppoolstate
    		if apppool.apppoolstate=4 then
    			apppool.stop
    			apppool.start
    			fw.writeline(now()&"@"&apppool.name)
    		end if
    	next
    	wscript.sleep(1000*60*2)
    
    	set fso=nothing
    	set fw=nothing
    	set apppools=nothing
    loop
    

    清理 IIS 日志

    'IIS 日志清理 VBS 版代码(DelIISLog.vbs)
    '调用方法: DelIISLog "IIS 日志所在路径",保留多少天的 IIS 日志
    '遍历 IIS 日志文件夹下的所有文件及子文件夹下的文件
    Function DelIISLog(IISLogPath,KeepDays)
    on error resume next
    Set oFso = CreateObject("Scripting.FileSystemObject")
    Set oFolder = oFso.GetFolder(IISLogPath)
    Set oSubFolders = oFolder.SubFolders '得到该目录下所有的文件夹的集合
    Set oFiles = oFolder.Files '得到该目录下所有的文件的集合
    '第一步处理当前目录下的所有文件
    For Each oFile In oFiles '遍历所有文件
    if right(oFile.name,3)="log" then
    oDate=cdate("20" & mid(oFile.name,3,2) & "-" & mid(oFile.name,5,2) & "-" & mid(oFile.name,7,2))
    if date-oDate > KeepDays then oFile.delete '判断是不是要处理的 IIS 日志文件,如果是的话直接删除
    end if
    Next
    '第二步处理当前目录下的所有目录,进行递归调用
    For Each oSubFolder In oSubFolders
    DelIISLog oSubFolder.Path,KeepDays '递归
    Next
    End Function
    DelIISLog "C:\WINDOWS\system32\LogFiles",20 '遍历
    
    17 条回复    2016-07-31 11:04:59 +08:00
    anson2416
        1
    anson2416  
       2016-07-30 13:04:13 +08:00 via iPad
    马克
    LU35
        2
    LU35  
       2016-07-30 13:34:04 +08:00 via Android
    好久没有用过了。
    loading
        3
    loading  
       2016-07-30 13:37:54 +08:00 via Android
    自从我服务器装了 python...
    DoraJDJ
        4
    DoraJDJ  
       2016-07-30 13:43:24 +08:00 via Android
    感觉 VBS 在被用来弄各种病毒之后存在感就消失了。
    现在写脚本大多都喜欢用 bat 、 bash 、 Python 、 Node.js 等。
    dabpop139
        5
    dabpop139  
    OP
       2016-07-30 13:48:49 +08:00 via Android
    @DoraJDJ bat 实现上面的功能感觉挺麻烦的, python 操作 win 隔了一层啥是的,不过现在都用 linux 服务器的多了。
    bdbai
        6
    bdbai  
       2016-07-30 16:19:34 +08:00 via iPhone
    @DoraJDJ Windows Vista 以上不妨试试 PowerShell
    smallpath
        7
    smallpath  
       2016-07-30 16:25:03 +08:00
    发邮件
    emric
        8
    emric  
       2016-07-30 16:34:07 +08:00
    我用 JScript
    Arnie97
        9
    Arnie97  
       2016-07-30 17:00:38 +08:00 via Android
    @loading +1 ,我最早学 Python 时就是因为 VBS 连 Win32 API 都没法调用,想找个替代品…
    zonghua
        10
    zonghua  
       2016-07-30 18:08:24 +08:00 via iPhone
    U 盘病毒咯,解决办法就是到 Ubuntu 下面格式化 U 盘
    g00001
        11
    g00001  
       2016-07-30 20:34:49 +08:00
    Windows 上这些东西都没有 aardio 方便、直接就可以调用 API ,生成 EXE 文件也方便,也不要啥运行库,尤其是做界面漂亮。
    cchange
        12
    cchange  
       2016-07-30 21:36:43 +08:00
    非常感谢 这个真心好用
    请问还有别的资料吗?
    dabpop139
        13
    dabpop139  
    OP
       2016-07-30 22:02:01 +08:00
    @g00001 第一次听说 aardio 语言,回头有时间我了解一下
    ila
        14
    ila  
       2016-07-30 23:10:46 +08:00 via Android
    人生苦短,我用 python 。比 vbs 少写很多字母…
    xiaoc19
        15
    xiaoc19  
       2016-07-31 09:54:57 +08:00
    很久很久以前经常用 vbs 和 bat ,后来就 python ,现在是 python+golang ,,不过好久没用过 win 了。。。
    julyclyde
        16
    julyclyde  
       2016-07-31 10:28:22 +08:00
    第一个和 vbs 有啥关系?
    dabpop139
        17
    dabpop139  
    OP
       2016-07-31 11:04:59 +08:00 via Android
    @julyclyde 哈哈第一个是 bat 乱入了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2870 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 61ms · UTC 04:01 · PVG 12:01 · LAX 21:01 · JFK 00:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.