加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

命令行 – 有没有办法在Windows Scripting Host(WSH)cscript.exe

发布时间:2020-12-14 01:47:24 所属栏目:Windows 来源:网络整理
导读:我正在编写一个在cscript.exe中运行的JScript程序.是否可以从脚本中运行commnad line命令.这真的会让工作变得简单,因为我可以运行某些命令而不是在jscript中编写更多代码来执行相同的操作. 例如: 为了等待按键10秒,我可以立即使用超时命令 timeout /t 10 在
我正在编写一个在cscript.exe中运行的JScript程序.是否可以从脚本中运行commnad line命令.这真的会让工作变得简单,因为我可以运行某些命令而不是在jscript中编写更多代码来执行相同的操作.

例如:
为了等待按键10秒,我可以立即使用超时命令

timeout /t 10

在jscript中实现这意味着更多的工作.
顺便说一句,我在Vista和WSH v5.7上

有任何想法吗?感谢名单!

您可以使用 WshShell.Run方法执行DOS命令:
var oShell = WScript.CreateObject("WScript.Shell");
oShell.Run("timeout /t 10",1 /* SW_SHOWNORMAL */,true /* bWaitOnReturn */);

如果您特别需要暂停脚本执行,直到按下某个键或超时,则可以使用WshShell.Popup方法(带有超时选项的对话框)完成此操作:

var oShell = WScript.CreateObject("WScript.Shell");
oShell.Popup("Click OK to continue.",10);

但是,此方法在cscript下运行时也会显示一个消息框.

本文描述了另一种可能的方法:How Can I Pause a Script and Then Resume It When a User Presses a Key on the Keyboard?简而言之,您可以使用WScript.StdIn属性直接从输入流中读取,这样就可以等待输入.但是,从输入流中读取不支持超时,仅在按下ENTER键时返回(不是任何键).无论如何,这是一个例子,以防万一:

WScript.Echo("Press the ENTER key to continue...");

while (! WScript.StdIn.AtEndOfLine) {
   WScript.StdIn.Read(1);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读