我有一个Windows游戏服务器(Mount&Blade:Warband),我试图通过Rails应用程序进行远程控制。 我发现了一种使用Windows Script Hosting向游戏服务器发送文本的方法,如下所示: Set ArgObj = WScript.Arguments Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.AppActivate "mb_warband_dedicated" For lcv = 0 to ArgObj.Count – 1 WshShell.SendKeys ArgObj(lcv) WshShell.SendKeys "{Enter}" Next WshShell.SendKeys "start" WshShell.SendKeys "{Enter}" 虽然这感觉很脆弱,但是在我的本地机器上尝试时,它确实有效。 它成功地将焦点转移到游戏服务器,将其参数作为文本发送到游戏服务器,并开始游戏。 我的思路是让我的Rails应用程序在游戏命令POST(使用适当的Rails身份validation和安全授权)时调用WSH可执行文件。 这个工程,如果我远程桌面到运行Rails和游戏服务器的远程机器,但一旦我断开我的远程桌面会话,它不再工作。 Rails服务器收到请求,调用脚本,但是我猜“AppActivate”命令找不到窗口。 如果是Linux机器,我想我可以使用命名pipe道。 这里有什么想法? 电源shell? 也许TCL? 我可以杀死游戏服务器进程,编辑configuration,然后重新启动游戏服务器,但是每个人都会断开连接。
我有一个安装可执行文件,我需要安装。 当我运行它,它启动一个MSI来做实际的安装,然后立即死亡。 这样做的副作用是它会将控制权返回到您在安装完成之前调用它的任何控制台。 根据我运行什么机器,它可能需要三到十分钟,所以呼叫脚本睡眠是不可取的。 我会直接启动msi,但它抱怨丢失的组件。 我有一个WSH脚本,它使用WMI启动一个进程,然后观察,直到它的PID不再运行。 有没有一些方法来确定最初的可执行文件正在执行的MSI的PID,然后注意使用WMI结束该PID? 启动过程信息是否与过程相关联?
我需要每天运行一个脚本,它将从固定位置下载文件,并使用合适的文件名-YYYYMMDD-HHSS.ext时间戳将其保存在我的计算机上。 我需要一个关于那个文件在那个特定时间的历史logging。 我可以手动检查,看看有什么变化,所以不需要compairson。 (我正在寻找一个在线服务,为我做这个,但我认为我的机器上的本地运行的脚本将是足够好的)。 虽然我有我的机器上的PHP,我宁愿如果它是一个纯粹的Windows内置解决scheme,以防万一我(可能)适应别人的系统(非技术人员)。 如果有人有这样的事情,可以贡献的代码 – 帮助将不胜感激! d
如何使用Windows Scripting Host在Windows上打开随机免费(可用)端口? 最好是JavaScript。 有“HNetCfg”对象,但我找不到任何官方文档(MSDN?)。
我必须创build一个脚本,在启动程序之前更新系统环境variables(基于命令行参数)。 在Windows 7中,更新系统环境variables被拒绝。 我想为env的设置进行特权提升。 变种。 但作为一个普通的用户运行该程序。 怎么做? 注意:我已经尝试了以下解决scheme: 使用2个脚本: 1主从命令行获取所有信息,调用从脚本来更改系统环境。 变种,并最终启动程序 1个更新系统环境的从属脚本。 变种。 主脚本尝试使用权限提升来调用slave脚本,但这不起作用 我已经尝试了2个解决scheme: 使用“runas / User:Administrator …”命令,但要求inputpipe理员密码:失败 使用“ShellExecute ….”,runas“”命令,但它告诉我,我的脚本不是应用程序:失败
尝试在Windows Server 2008 R2框上安排任务。 我有一个VBScript连接到一个Oracle数据库来拉取数据,我希望这个间隔运行。 只有在使用32位csript.exe(需要32位ODBC驱动程序)运行时,vbs才能在同一台计算机上独立运行。 我可以踢一个batch file的vbs文件来调用C:\ Windows \ SysWOW64 \ cscript.exe“c:\ scriptLoc”,它工作正常。 但是,当我尝试安排一个任务时,我得到了同样的错误,当试图直接通过双击运行vbs – 使用cscript.exe 64位(我推测)。 我也尝试打开32位任务计划程序C:\ Windows \ SysWOW64 \ taskschd.msc,并在那里添加作业,但获得相同的结果。 有什么build议么? 谢谢 编辑 – – – – – – – – – – – – – – – – – – – – – – – – – ————————————————– ———- 错误是找不到Oracle客户端,驱动程序是32位,不能用于64位。 […]
这个脚本应该打开第一个find的networking连接的启用或连接的Windows shell状态和属性对话框。 但是,只打开属性对话框。 “状态”对话框的动词已经正确,即“Stat&us”。 该脚本已经过testing,将在Windows XP Pro SP3 32位下使用。 它已经通过连接的3G拨号和LAN环回进行了testing。 两者都有同样的问题。 dim a,b,c set a=createobject("shell.application") set b=a.namespace(0).parsename("::{7007ACC7-3202-11D1-AAD2-00805FC1270E}").getfolder for i=0 to (b.items.count-1) set c=b.items.item(i) for j=0 to (c.verbs.count-1) 'only process connected/enabled if (lcase(c.verbs.item(j)) = "disc&onnect") or (lcase(c.verbs.item(j)) = "disa&ble") then 'open status and properties dialogs c.invokeverb("Stat&us") 'this doesn't work c.invokeverb("P&roperties") 'this one works msgbox "Press OK […]
在Windows环境中通过JS启动脚本。 我需要2件事情: 没有popup窗口(即shell.run(cmd, 0) ) 我不能等待线程完成(即shell.exec()或shell.run(cmd, 0, false) ) 那我该怎么办? 这似乎是相互排斥的。 我不能等待它完成,但我会轮询它的状态,看看它什么时候结束。 因为它包含状态等等,显然exec更适合这个…虽然我需要删除popup命令窗口,因为这个系统可能有很多。 有人知道我能做什么吗? 我会投票反正,但没有等待过程完成,运行将立即返回0,我不知道是否已完成,而不是试图在进程列表中find图像名称…但我不喜欢这样做没有PID,我宁可不靠名字。 理想将是执行,但隐藏命令窗口…但从我可以告诉这是不可能的…
我是Windows脚本的新手。 是否有一个日历用户界面小部件,我可以用wsh来获取用户input? 我基本上需要从用户那里得到一个date。
我在这里有一个启动批处理脚本的vbs文件。 批处理应该不可见,所以我使用这个vbs脚本: WScript.CreateObject( "WScript.Shell" ).Run "loop.bat",0,0 vbs被注册到registry中的运行键 – 每次在启动它告诉我,他无法find指定的文件。 也许Windows脚本宿主开始迟到我的VBS脚本? 我该怎么办? vbs延迟启动? 这需要另一个循环,但我的脚本将是不可见的。 vbs在startupfolder? 更好的registry。 由于其他原因,我不能使用startupfolder。 感谢您的回答:)