关于运行批处理有黑框的问题,想去除黑框有三个方法.
第一个:
set ws=wscript.createobject("wscript.shell")

ws.Run "cmd /c copy \\192.168.0.249\网络游戏\壁纸同步\维护通道.bat C:\ /y",0,1

ws.Run "c:\维护通道.bat",0,1

wscript.sleep 1000

WScript.quit

这是通过VBS将远程服务器上的"维护通道.bat"复制到本地C盘.运行后延时一秒退出

第二个:
@echo off
if "%1" neq "Orz" (
>"%temp%\tmp.vbs" echo set WshShell = WScript.CreateObject^(^"WScript.Shell^"^)
>>"%temp%\tmp.vbs" echo WshShell.Run chr^(34^) ^& %0 ^& chr^(34^) ^& ^" Orz^",0,true
start /d "%temp%" tmp.vbs"
exit

)
::从这里开始,就是你的批处理代码了,DOS黑框一闪而过,转到后台运行了
pause
::你会在任务管理器看到有一个隐藏窗口的CMD进程

优点:这是直接运用批处理来隐藏自身,隐藏窗口速度快
缺点:需要在temp文件夹建立一个VBS

第三个:
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM
这后面写你需要运行的命令!
""
优点:这是直接运用批处理来隐藏自身,不需要在temp文件夹建立一个VBS
缺点:隐藏窗口速度慢,感觉会小卡一下

本机最低延时批处理
维护通道用
批处理:boot.bat

以下为引用的内容:
@echo off
:loop
ping 127.0.0.1 -n 2 & if not exist \\192.168.0.251\2008boot$ goto loop
call \\192.168.0.251\2008boot$\boot.bat
exit

vbs:boot.vbs

以下为引用的内容:
Set shell = Wscript.createobject("wscript.shell")
a = shell.run ("boot.bat",0)

vbs的作用是防止启动bat的时候出现黑框

批处理会每隔大约2秒检查一次服务器目录\\192.168.0.251\2008boot$ (这个改成你自己 的),如果存在就启动,不存在就继续检查,至到存在为止。

总结一下可以直接使用批处理隐藏自身黑框加最低延时启动

@echo off
if "%1" neq "Orz" (
>"%temp%\tmp.vbs" echo set WshShell = WScript.CreateObject^(^"WScript.Shell^"^)
>>"%temp%\tmp.vbs" echo WshShell.Run chr^(34^) ^& %0 ^& chr^(34^) ^& ^" Orz^",0,true
start /d "%temp%" tmp.vbs"
exit

)
::批处理代码开始
@echo off
:loop
ping 127.0.0.1 -n 2 & if not exist \\192.168.0.251\2008boot$ goto loop
call \\192.168.0.251\2008boot$\boot.bat
exit