dug*_*res 149 windows shortcuts command-line batch-file
在 Windows XP 上,我是否可以通过快捷方式运行批处理(.bat 或 .cmd)文件,而没有“黑窗”?
Sha*_*ziz 105
将以下内容保存为 wscript,例如,将“testing.bat”替换为您的批处理文件的名称后,hidecmd.vbs。
Set oShell = CreateObject ("Wscript.Shell")
Dim strArgs
strArgs = "cmd /c testing.bat"
oShell.Run strArgs, 0, false
Run Code Online (Sandbox Code Playgroud)
的第二个参数oShell.Run是intWindowStyle表示程序窗口外观的值,零值是隐藏窗口。
参考在这里http://msdn.microsoft.com/en-us/library/d5fk67ky.aspx
gre*_*olf 49
这只是沙吉回答的简化。您可以通过VBScript (.vbs) 脚本运行批处理脚本,如下所示:
'HideBat.vbs
CreateObject("Wscript.Shell").Run "your_batch_file.bat", 0, True
Run Code Online (Sandbox Code Playgroud)
这将在不显示命令窗口的情况下执行您的批处理文件。
Tob*_*s J 25
只是为了扩展“使用 Windows 脚本”的答案(我认为这是最好的,因为它已经内置了),这里是如何通过使用单个包装器脚本并将“真实”批处理文件的名称作为参数传递来实现的。附加参数将传递到批处理文件。
If WScript.Arguments.Count >= 1 Then
ReDim arr(WScript.Arguments.Count-1)
For i = 0 To WScript.Arguments.Count-1
Arg = WScript.Arguments(i)
If InStr(Arg, " ") > 0 Then Arg = """" & Arg & """"
arr(i) = Arg
Next
RunCmd = Join(arr)
CreateObject("Wscript.Shell").Run RunCmd, 0, True
End If
Run Code Online (Sandbox Code Playgroud)
因此,例如将上述文件保存为NoShell.vbs某处然后调用:
NoShell.vbs c:\foo\my_batch_file.bat
Run Code Online (Sandbox Code Playgroud)
最后,如果您想从不理解 .vbs 文件的地方(例如 Visual Studio 中的“外部工具”)运行它,您将需要C:\Windows\System32\wscript.exe使用 vbs 文件作为其第一个参数进行调用,并且您的批处理文件作为第二个。
zaf*_*zaf 15
使用开始用“/ B”选项。例如:
@echo off
start /B go.bat
Run Code Online (Sandbox Code Playgroud)
小智 9
简单的解决方案,无需使用任何额外的程序。
祝你好运!
免费的 GPL 开源“创建隐藏进程”
http://www.commandline.co.uk/chp/
Microsoft Security Essentials 以及可能大多数其他病毒/恶意软件扫描程序会将可执行文件 chp.exe 视为病毒,因为它会像病毒一样隐藏您指定的任何程序,不显示窗口或任务栏按钮。
它不是病毒。例如,它不会隐藏目标进程出现在任务管理器中。当然,源代码也包含在内,因此您可以看到它非常小,除了运行您提供的任何程序之外什么都不做。
您甚至不必相信所包含的 chp.exe 确实是从该源构建的。您可以继续丢弃包含的 chp.exe 并从源代码编译您自己的,并且所有必要的工具甚至都是免费且可下载的。
您也可以只创建 .bat 或 .cmd 文件的快捷方式,然后右键单击快捷方式,属性,快捷方式选项卡,运行:最小化。然后在计划任务中,直接使用快捷方式而不是 .bat/.cmd 文件。这将阻止弹出窗口,但仍会出现任务栏按钮。
小智 7
您可以使用诸如AutoIt 之类的窗口脚本。
例如,只需将其写入 AutoIt 脚本编辑器即可。这很简单
Run("C:\test\batchfile.bat", "", @SW_HIDE)
Run Code Online (Sandbox Code Playgroud)
如果你想循环运行它,
$x=0
Do
Run("C:\test\batchfile.bat", "", @SW_HIDE)
Sleep(5000)
Until $x = 1
Run Code Online (Sandbox Code Playgroud)
将其编译为 .exe - 就完成了。
同样,在AutoHotkey 中:
#NoTrayIcon ; To prevent momentary icon pop-up
run whatever.bat arg1 arg2,,hide
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
478991 次 |
| 最近记录: |