百科

vbs打开cmd并输入指令

字号+ 作者:烟消火灭网 来源:综合 2026-10-17 09:01:49 我要评论(0)

VBScript里塞一行WScript.Shell,就能把cmd叫出来,再喂它一条指令。这事儿我三年前第一次试的时候,差点把公司服务器搞重启——那会儿手滑写了个shutdown /r,幸好没加/f,

VBScript里塞一行WScript.Shell,并输就能把cmd叫出来,并输再喂它一条指令。并输这事儿我三年前第一次试的并输时候,差点把公司服务器搞重启——那会儿手滑写了个shutdown /r,并输幸好没加/f,并输系统愣是并输给了三十秒缓冲,我冷汗都下来了,并输赶紧用shutdown /a给拦了回来。并输

核心就两行代码。并输先创建对象:Set sh = CreateObject("WScript.Shell"),并输然后调用sh.Run "cmd /c 你要输的并输指令", 0, True。第二个参数是并输窗口显示模式,0代表完全隐藏,并输1是并输正常窗口。第三个参数True意味着脚本会等指令跑完才继续往下走,False则直接撒手不管。这参数组合玩明白了,你就能控制cmd是明着干还是暗着搞。

举个例子。你想批量改文件名,手动开cmd敲命令太麻烦。写个vbs,双击就完事:

Set sh = CreateObject("WScript.Shell") sh.Run "cmd /c ren C:\Users\me\*.txt *.bak", 0, True

注意那个/c——执行完指令就关窗口。要是用/k,窗口会留着,适合调试时观察输出。我刚开始老搞混,结果vbs跑完,屏幕上留着一堆黑洞洞的cmd窗口,看着跟黑客入侵似的。

这里有个坑:路径带空格会炸。比如C:\Program Files这种,直接拼进字符串里cmd会懵。解决办法是外层加双引号,但vbs里双引号要转义,写出来就是""C:\Program Files\xxx"",丑得一塌糊涂。我后来干脆用chr(34)拼接,虽然代码难看点,但至少不会半夜被同事打电话问“你把我桌面图标搞哪去了”。

还有权限问题。普通用户权限下,vbs调cmd干不了需要管理员的事。比如你想改系统环境变量,vbs双击跑会直接报错,cmd窗口闪一下就没了。这时候得右键vbs文件,选择“以管理员身份运行”——对,vbs文件也能这么操作,系统会弹UAC确认框。这算是个隐蔽的提权入口,但别拿它干坏事,杀毒软件盯着呢。

我实际用这招最多的场景是定时备份。Windows任务计划程序里设个触发器,到点跑vbs,vbs里用cmd调robocopy,把指定文件夹镜像到NAS。全程无窗口,静默执行。有次服务器重启后计划任务没跑起来,我检查半天,最后发现是vbs里忘了加True参数,脚本自己提前退出了,后面cmd指令根本没执行——这破事让我长记性:Run方法的第三个参数,真不是摆设。

写这玩意儿最爽的时刻,是看着一排排文件在资源管理器里自动改名、移动、压缩,而你只需要双击一个不到1KB的文件。最崩溃的时刻,是cmd里输错一个路径,vbs又没做错误处理,结果批量删了不该删的东西——幸好回收站能救回来一半,另一半就当你交了学费。

最后友情提示:别在vbs里直接跑format或del /s这种高危指令,除非你确定自己在做什么。代码写出来是给人用的,不是给系统添乱的。真出事了,别怪cmd,怪你自己没加if判断。

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • cdn加速服务器怎么赚钱

    cdn加速服务器怎么赚钱

    2026-10-17 08:23

  • 创联电子元件 集团 有限公司 clec集团

    创联电子元件 集团 有限公司 clec集团

    2026-10-17 07:17

  • CF网站

    CF网站

    2026-10-17 06:57

  • 优酷网站官网

    优酷网站官网

    2026-10-17 06:54

网友点评