VBscript 代码捕获标准输出,而不显示控制台窗口

2023-12-04

这是一个 VBScript 代码示例,展示了如何捕获命令行程序发送到标准输出的任何内容。 它执行命令xcopy /?并在消息框中显示输出。在消息框出现之前,您会看到控制台窗口突然弹出。

Set objShell = WScript.CreateObject("WScript.Shell")
Set objExec = objShell.Exec("xcopy /?")
Do
    line = objExec.StdOut.ReadLine()
    s = s & line & vbcrlf
Loop While Not objExec.Stdout.atEndOfStream
WScript.Echo s

下面是另一个 VBScript 代码示例,展示了如何在不显示控制台窗口的情况下执行脚本。

objShell.Run "c:\temp\mybatch.bat C:\WINDOWS\system32\cmd.exe", 0

or

objShell.Run "c:\temp\myscript.vbs C:\WINDOWS\system32\cscript.exe", 0

正如你所看到的,它的形式如下<script><space><executor>。 最后一个例子使用objShell.Run代替objShell.Exec

我不知道如何执行命令行程序(如果需要从批处理文件),捕获标准输出,而不显示控制台窗口。有任何想法吗?


我通常用这个:

Wscript.echo execStdOut("ping google.com")

Function execStdOut(cmd)
   Dim goWSH : Set goWSH = CreateObject( "WScript.Shell" ) 
   Dim aRet: Set aRet = goWSH.exec(cmd)
   execStdOut = aRet.StdOut.ReadAll()
End Function 

对于更高级的命令,您可以包装到 comspec (cmd)

my res = execStdOut("%comspec%" & " /c " & """" & "dir /b c:\windows\*.exe" & """" & " && Echo. && Echo finished") 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VBscript 代码捕获标准输出,而不显示控制台窗口 的相关文章

  • 从批处理文件中获取java版本

    如何获取java版本并希望从批处理文件中获取java版本中的 6 我尝试了下面的脚本 但没有成功 REM check java exists using JAVA HOME system variable if JAVA HOME ECHO
  • 如何使用 winrar 提取与 zip 文件同名的文件夹中的所有 zip 文件?

    我需要迭代一个文件夹 对于每个 zip 文件 我需要使用它的名称来提取它 也就是说 如果它是 test zip 那么它应该解压到 test 文件夹 同样 它应该迭代我的文件夹及其子文件夹并提取内容 我编写了下面的代码 但它没有使用 zip
  • 如何在批处理文件中解析带有特殊分隔符的文件?

    我想使用批处理来解析一个如下所示的文件 a string containing various characters and spaces 1 b string containing various characters and space
  • 打印出按文件名排序的目录中的文件

    我正在尝试打印目录中的文档 按文件名升序排序 我有下面的脚本来打印文档 它可以工作 但它是随机顺序的 有什么方法可以根据名称对 文件 集合进行排序吗 Set the TargetFolder TargetFolder C Temp Hewi
  • 批处理 - IF ELSE 启动功能的条件无论如何都会执行

    提前抱歉 如果这里有一个线程可以回答我的问题 我从周五开始就一直在这个问题上并四处寻找 我确实发现了一些类似的问题 但我无法应用或适应这个问题 据我所知 简而言之 我有一个批处理脚本 它创建目录的文本文件 然后该脚本在目录中搜索文件 如果文
  • 如果文本文件已存在,则将文本追加到文本文件中

    我有一个正在运行的脚本 用于替换固定宽度文件中的某些字符 从第 2 行开始 如果目标文件已经存在 希望避免覆盖目标文件 相反 如果存在 则将行 从源文件的第 2 行开始 追加到目标文件的末尾 我正在努力寻找有适当建议的线索 这是当前的代码
  • 如何让批处理文件等待另一个批处理文件完成执行?

    如何让一个批处理文件等待另一个批处理文件完成 例如 我有 echo hi gt r txt echo some piece of code gt gt r txt start ar bat echo some piece of code g
  • 将 ADODB.RecordSet 输出为 JSON

    我正在尝试更改我的应用程序 以便它输出 JSON 而不是 HTML当它发出 AJAX 请求某些数据时 我有一个 ADODB 记录集 我需要逐行循环它并添加 更改 删除不同的值 然后我需要获取所有修改的行response write它们作为
  • 如何获取%CD%的父路径

    如何获取当前 CD 的父路径 例如 ECHO CD result C Windows System32 这不起作用 ECHO CD 期望的结果 C Windows 尝试更改当前目录 然后使用 cd pushd echo cd popd
  • 通过VBScript调用WCF服务

    有一个WCF服务 配置如下
  • 排除批复制脚本中的文件夹

    我正在使用 U 盘上的批处理文件来备份我的照片 我使用以下命令 for r C x in jpg png gif do copy y x 我想排除邮件文件夹 WINDOWS 和 PROGRAM FILES 中的文件 有谁知道如何使用批处理文
  • 批处理文件 FOR /f 标记

    任何人都可以逐行准确解释以下代码是如何工作的 我真的迷路了 我一直在尝试学习如何使用 FOR 命令 但我不明白这一点 echo off for f tokens delims f in myfile do set line f call p
  • 使用 .bat 通过文件资源管理器打开文件夹

    我应该使用什么命令在程序末尾打开指定路径 start c Yaya yoyo 不管用 你可以这样尝试 SystemRoot explorer exe c Yaya yoyo
  • 如何将 GIT 调用的输出获取到批处理脚本中的变量中?

    我有一个 git 命令来获取当前存储库的最新 SHA 如下所示 git log pretty format H n 1 我有一个 Windows 批处理脚本 我想按如下方式使用它 SET CURRENT SHA 但我不知道如何将从 git
  • 如何从Windows阻止社交媒体[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我想根据时间阻止我的电脑上的社交媒体 晚上 9 点后屏蔽 上午 11 点后解锁 如家长控制 我尝试过关注但失败了 创建了
  • FileSystemObject 中文件集合的顺序

    在 VBScript 中 我想获取按创建日期排序的文件夹中的文件列表 我发现为了做到这一点 我需要使用记录集 对我来说似乎有点过分 或自己对集合进行排序 我认为我可以避免它 并且我希望我的代码更短 由于我是创建文件的人 所以我使用以日期 y
  • 如何迭代所有注册表项?

    我正在尝试迭代所有注册表项以查找 包含 并删除 jre1 5 0 14 值 有办法做到吗 下面的代码只是在特定键下找到jre1 5 0 14 我确实想迭代所有的键 顺便说一句 if 子句获取是否等于 jre1 5 0 14 但如果它包含 j
  • 在 ASP.Net 网站中使用 VBScript 中的变量

    我花了一天的大部分时间来研究这个问题 但找不到答案 我对 stackoverflow 比较陌生 询问多个问题是否有一定的礼仪 过去几天我问了三个问题 Anyways 这是代码隐藏文件中的代码 它执行脚本 systeminfo vbs 并且工
  • vbs以字典作为参数执行另一个vbs脚本

    我正在尝试从另一个 vbscript 执行一个 vbscript 我的想法是 我必须传递字典作为参数 但我总是收到相同的错误消息 到目前为止 这是我的代码 dim objShell Set objShell Wscript CreateOb
  • Javascript 数组到 VBScript

    我有一个使用 Javascript 构建的对象数组 我需要使用 VBScript 读取它 如下例所示 我找不到在 VbScript 代码中循环遍历数组的方法myArray object 这个例子是我的问题的简化 我无法更改页面的默认语言 这

随机推荐

  • 活动如何在不扩展 AppCompatActivity 的情况下使用工具栏

    我有一个活动HomeView它已经扩展了另一个活动并且不能扩展AppCompatActivity 但HomeView需要有一个工具栏 Android 文档说任何需要工具栏的活动都必须扩展AppCompatActivity 我怎样才能绕过这个
  • 在 JavaScript 中比较字符串时,为什么一个字符串比另一个字符串大?

    我从一本书上看到这段代码 var a one var b four a gt b will return true 但它没有提到为什么 一 比 四 大 我试过c a 并且它比a和b小 我想知道 JavaScript 如何比较这些字符串 因为
  • 检查 Internet 和特定站点是否在 JavaScript/AJAX 中正常运行

    我有一个在我的设备上本地运行的页面 我想使用 AJAX 或普通 JavaScript 来检查设备是否已连接到互联网and如果某个特定站点已启动 此外 我试图弄清楚如何通过 AJAX 计算 RSS 提要中的条目数 但我以前从未围绕 RSS 进
  • 对数据库进行更改后如何保存DataSet?

    如果我有一个名为 myDs 的数据集 并且我通过在循环中直接访问来编辑其中的字段 如下所示 for int i 0 i lt myDS Tables TableName Rows Count i some function or web m
  • 核心数据在枚举时发生变异

    我在核心数据方面遇到了一个恼人的问题 我的应用程序需要从 iPhone 获取联系人并将其保存在我的数据库中 我正在尝试在后台线程中执行此操作 我使用上面的代码 self performSelectorInBackground selecto
  • Soundcloud API - 分别提取艺术家姓名和歌曲标题?

    查看 Soundcloud 文档 似乎您无法单独提取艺术家姓名和歌曲名称 或者我遗漏了什么 http developers soundcloud com docs api reference playlists IE 为了歌曲https s
  • VS2010总是重建解决方案?

    我有一个包含 40 个项目的解决方案 我最近将每个项目的输出路径重新配置为以下值 输出 对每个构建配置的 csproj 文件进行了更改 这一更改达到了预期目的 将所有已编译的程序集收集到一个文件夹中 但不寻常的副作用是 每次我点击 F5 调
  • 卡在比较器

    这是我的第一篇文章 这是针对 Java 7 的 有人可以告诉我为什么我无法访问 CompareIpaddress 类中的 first a 吗 我不知道为什么 SOF 不允许我发布这个 除非我输入更多的东西 这足够填充吗 谢谢 戈登 impo
  • 访问各种缓存和主内存的大致成本?

    谁能给我访问 L1 L2 和 L3 缓存以及 Intel i7 处理器上主内存的大致时间 以纳秒为单位 虽然这不是一个具体的编程问题 但了解这些类型的速度细节对于一些低延迟编程挑战是必要的 每个人都应该知道的数字 0 5 ns CPU L1
  • MySQL:如何将 varchar(255) UNIQUE 列更改为 UNIQUE Text NOT NULL?

    当前列是 VARCHAR 255 NOT NULL 那么如何将其更改为 TEXT NOT NULL 注意 要更改其属性类型的列是另一列的 UNIQUE KEY 组合 例如 唯一密钥 名称 描述 列描述当前采用 varchar 255 无法更
  • 如何使用 bash 替换 json 中的文本

    我正在尝试更换质量测试服务 by 测试服务在 JSON 文件中使用 bash 有人可以帮我吗 谢谢 JSON 文件 variables json variable qa test services default prod test 1 p
  • 使用 svlib 从 SystemVerilog 中的字符串中提取正则表达式匹配

    我是THE的新用户svlibSystemVerilog 环境中的封装 参考Verilab svlib 我有以下示例文本 PARAMATER lollg 1 SPEC ID 1G3HSB 1 我想使用正则表达式来提取1G3HSB从这段文字 我
  • 在 R 中使用 osmplotr 和 OpenStreetmap 绘制海域

    我正在尝试使用 Openstreetmap 通过osmplotrCRAN 上的软件包 绘制海岸线并将大海涂成蓝色 因为大海不是多边形 所以我尝试使用osm line2poly 将线条变成多边形 然而 下面的最小可重现示例给出了以下错误 Er
  • 使用 hbase 处理图像、视频和音频类型

    任何人都知道如何使用 Hbase 处理音频 视频和图像等非结构化数据 我尝试了很多 但没有任何想法 请提供任何帮助 选项1 将图像转换为字节数组 您可以准备放置请求并插入到表中 同样也可以实现音频和视频文件 See https docs o
  • C语言中的对象

    即使我浏览了一些 C 语言教程 笔记 我还是遇到了 对象 这个术语 我一直想知道对象与过程语言有什么关系 深入一点我可以理解 占用一块内存的东西在c中被称为 对象 我的问题是我的理解是否正确或者是否有我遗漏的东西 谢谢 来自C99标准草案
  • 如何存储/检索 RSA 公钥/私钥

    我想使用RSA公钥加密 存储或检索私钥和公钥的最佳方法是什么 XML 在这里是个好主意吗 如何获得钥匙 RSAParameters privateKey RSA ExportParameters true RSAParameters pub
  • ExpressJS:每 24 小时运行一次函数

    在 ExpressJS 中每 24 小时运行一次自动化函数的最简单方法是什么 除了运行无限循环之外 我到处寻找解决方案 原则上这是唯一的方法吗 你需要使用节点 cron npm var cron require node cron cron
  • 为什么 Ruby `**` 运算符的优先级高于一元 `-` ?

    这会导致这样的情况 1 0 5 gt 1 只有括号可以解决这个问题 1 0 5 gt 6 123031769111886e 17 1 0i 这比预期的要差1 i 但基本可以接受 在我去抱怨 Ruby bug 之前 我想知道是否有某种原因造成
  • 有没有办法提高FlyingSaucer的性能?

    我已经关注了本文使用 FlyingSaucer 将 XHTML 转换为 PDF 这很出色 但有一个重大缺点 速度慢得离谱 我发现从 XHTML 渲染 PDF 需要 1 到 2 分钟 无论该页面多么简单 基本代码 import java io
  • VBscript 代码捕获标准输出,而不显示控制台窗口

    这是一个 VBScript 代码示例 展示了如何捕获命令行程序发送到标准输出的任何内容 它执行命令xcopy 并在消息框中显示输出 在消息框出现之前 您会看到控制台窗口突然弹出 Set objShell WScript CreateObje