# 第四十五课：解决bat一句话下载payload黑窗

实战中，需要用 bat 解决的事情总会碰到，而针对不同的环境，可能同一件事情需要不同的方案。

## demo:测试bat

bat 内容：追加到bat.txt里。\
![](https://1465213733-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LZJtlFN7NOR8zMCiJsm%2F-LZXOtmCj3pT3_pYH1dV%2F-LZJx6PxvNTwhAm5ZKmL%2Fc88eaa0827ffcda7b8bf145ab166128e.jpg?generation=1551060437423209\&alt=media)

![](https://1465213733-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LZJtlFN7NOR8zMCiJsm%2F-LZXOtmCj3pT3_pYH1dV%2F-LZJx6PzClUqipLl-ejb%2Fac6b7ca7ff474a41f6c4e3b39740c63e.jpg?generation=1551060425105653\&alt=media)

## 附代码：

```bash
Set oShell = CreateObject ("Wscript.Shell")
Dim strArgs
strArgs = "cmd /c bat.bat"
oShell.Run strArgs, 0, false
```

但是代码过长，需要追加写入。需要简化下代码。\
![](https://1465213733-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LZJtlFN7NOR8zMCiJsm%2F-LZXOtmCj3pT3_pYH1dV%2F-LZJx6Q0NhNukP0UIxlL%2F4459b76b982a0d54de0cba76496b2f07.jpg?generation=1551060434449134\&alt=media)

## 附代码：

```bash
CreateObject("Wscript.Shell").Run "bat.bat", 0, True
```

如果需要在目标机上执行多个 bat，如果需要把代码中的 bat.bat 变成变量的话。\
![](https://1465213733-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LZJtlFN7NOR8zMCiJsm%2F-LZXOtmCj3pT3_pYH1dV%2F-LZJx6Q2GugMUzJocd0Y%2F362d2fd19ae38ea13dd9f7f4b7e7b845.jpg?generation=1551060425053119\&alt=media)

## 附代码：

```bash
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
```

> Micropoor
