我有多个用户在Windows 2003服务器上运行attachemate.我想杀死user_1启动的attachemate.exe而不杀死user_2启动的attachemate.exe.
我想使用VBScript.
在ASP经典项目的代码库上加快生活速度的一件事是,包含文件的情况有点混乱.我有时会发现我正在寻找的函数被包含在一个完全不相关的包含文件中.有没有人有任何关于如何重构这一点的建议,以便人们可以更容易地告诉函数在哪里需要找到它?
编辑:有一件事我忘了问:vbscript有什么样的机制来防止文件被包含两次?像C中的#ifndef那样排序?
我正在努力为旧的经典asp网站添加一个功能,并遇到了一个有趣的问题.页面上的以下行导致有用的错误"Object required:''"
strServerName = Request.ServerVariables("server_name")
Run Code Online (Sandbox Code Playgroud)
当我附加一个调试器来查看它时,请求实际上是空的,我不明白这是怎么回事?这一行存在于几个页面上,除此之外没有任何问题.在这种情况下,页面由另一页面的重定向执行.
我一直在寻找一天左右的解决方案,并且找不到任何有用的东西.我很绝望,任何想法都会非常感激.
哦,如果需要更多信息,请不要犹豫,打电话给我.
谢谢!
更新1
根据要求,下面是包含在<%%>标记中的整个代码段.该块作为文件中的第一个代码存在(名为"order-results-instant.asp"):
<%
strServerName = Request.ServerVariables("server_name")
strServerName = UCase(strServerName)
strServerURL = "http://localhost/cbr"
strServerURLhttps = "https://localhost/cbr"
strConnect = "Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=CBR; Integrated Security=SSPI"
Dim objConn
Dim sql_stmt
Dim rs
%>
Run Code Online (Sandbox Code Playgroud)
更新2
我使用了以下两种方法将执行重定向到此页面 - 这可能会导致请求丢失?
'Response.Redirect strServerURL & "/order-results-instant.asp?gwstep=1"
Response.Write "<META HTTP-EQUIV=""refresh"" content=""5;URL=" & strServerURL & "/order-results-instant.asp?gwstep=1"">"
Run Code Online (Sandbox Code Playgroud) 有没有办法enter在VBScript中模拟密钥?例:
set shl = createobject("wscript.shell")
shl.sendkeys "SIMULATED ENTER"
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个使用WScript.Shell Run()方法的VBScript(.vbs)脚本,但似乎Run()无法找到我传入的文件.
我已经将我的脚本简化为以下代码,它将重现结果.这可以复制到文本编辑器,保存为test.vbs并运行.该类型的命令只是输出传入的文件中的文本.
Dim WShell
Set WShell = WScript.CreateObject("WScript.Shell")
WShell.Run("type C:\inetpub\wwwroot\iisstart.htm")
Set WShell = Nothing
Run Code Online (Sandbox Code Playgroud)
如果您直接从CMD提示符运行Run()中的代码,它可以正常工作.但是当它从.vbs脚本内部运行并使用Run()时,它会给我以下错误:
Test.vbs(4, 1) (null): The system cannot find the file specified.
Run Code Online (Sandbox Code Playgroud)
我可以使用Run()运行其他命令就好了,但是当我尝试传入路径时它会失败.顺便说一句,Exec()失败并出现相同的错误.有任何想法吗?
我需要使用VB Script"触摸"或更新文件夹上的DateLastModified属性.
PowerShell不是一个选项,虽然我很感兴趣,如果可以使用PowerShell.
另外,我不想运行像GNU touch.exe这样的外部程序.该脚本将在多台计算机上运行,我无法保证将安装PowerShell或外部程序.
谢谢你的任何线索或帮助,史蒂夫
ps也在technet上问道.
我目前正在研究vbs脚本,但我需要用户与脚本进行交互.基本上我需要两个按钮和4个复选框(复选框并不重要).
提前致谢
我想使用Window Script Host(WSH)查找当前处于活动状态(具有焦点)的窗口的标题,因为我希望我的WSH脚本仅用于Sendkeys如果所需窗口处于活动状态.
注意*我没有条件使用替代方法,即在调用sendkeys之前激活所需的窗口.
任何帮助表示赞赏.
我花了大部分时间寻找解决方案,我开始认为它可能不符合我的要求
我的基本设置是运行从excel vba代码调用的vbscript(.vbs).vba代码必须继续运行并使vbscript保持运行,但会不时使用它进行监视Exec.Status
在vbscript中,我用它WScript.StdOut.WriteLine "whatever"来跟踪/调试它的进度,但就目前而言,我只能在excel vba代码完成后才能读取它的输出.
我想要的是从vbscript看到实时输出到控制台
这是vba代码......
Dim WSH As IWshRuntimeLibrary.WshShell 'Windows Script Host Object Model
Dim Exec As WshExec
Set WSH = CreateObject("WScript.Shell")
Set Exec = WSH.Exec("%COMSPEC% /C CSCRIPT.EXE //nologo " _
& VbsFileDir _
& " " & Arg1 _
& " " & Arg2 _
& " " & Arg3 _
& " " & Arg4)
Run Code Online (Sandbox Code Playgroud)
我已经能够通过转换来获得实时输出WSH.Exec到WSH.Run,但我确实需要访问Exec.Status,这是不是可以下WSH.Run
更新 - 2015-02-06
进一步澄清......使用@ Ekkehard.Horner提供的示例'... B.vbs'代码答案......以下excel-vba代码将向控制台显示实时输出...
WSH.Run("cscript C:\28353522-B.vbs")
Run Code Online (Sandbox Code Playgroud)
...但以下内容不会向控制台显示任何内容 …
vbscript ×10
wsh ×3
asp-classic ×2
console ×1
excel-vba ×1
iis ×1
kill ×1
refactoring ×1
vba ×1