VBS:后台重启程序
' run *.exe with hide windows
exename = "smjj_camera.exe"
set wshshell = CreateObject("WScript.Shell")
set objectlist = GetObject("winmgmts:\\.\root\cimv2")
set querylist = objectlist.execquery("select * from win32_process where name='"&exename&"'")
for each item in querylist
if item.name = exename then
wshshell.Run "taskkill /f /im "&exename,0
end if
next
WScript.Sleep 1000
wshshell.Run exename,0,false
wshshell.Popup("Reboot "&exename&" success!")
CreateObject(“WScript.Shell”).Run 方法第二个参数值含义如下表:
值 | 含义 |
---|---|
0 | 无窗口 |
1 | 正常窗口 |
2 | 最小化窗口 |
3 | 最大化窗口 |
4 | 上次被调用程序的同一窗口 |
5 | 与 4 相同,且为焦点窗口 |
6 | 最小化窗口,下一个窗口获得焦点 |
7 | 最小化窗口,活动窗口保持不变 |
8 | 正常窗口,活动窗口保持不变 |
9 | 正常窗口获得焦点 |
BAT:执行带参数的程序
在DOS中,有两个环境变量可以跟当前路径有关,一个是%cd%
, 一个是%~dp0
。
1.%cd%
可以用在批处理文件中,也可以用在命令行中;
2.%~dp0
只可以用在批处理文件中,它是由它所在的批处理文件的目录位置决定的,
是批处理文件所在的”盘符:+路径”。
@echo test
%~d0
cd %~dp0
start test.exe argv[1] argv[2]
exit
BAT:保存当前目录下的目录树
@
是回显与否的标志,如果echo on
,在运行的时候,不带@的行都会被回显,包括注释。
rem
是批处理中的注释。
@rem 此BAT文件名一定不能是"tree.bat"
tree /F>treedir.txt