如何使用VBScript在经典ASP页面中获取自定义环境变量的值?
我认为这很容易,但显然没有人这样做......我正在试图查看是否存在注册表项.我不在乎其中是否有任何值,如(默认).
这就是我一直在尝试的.
Set objRegistry = GetObject("winmgmts:\\.\root\default:StdRegProv")
objRegistry.GetStringValue &H80000003,".DEFAULT\Network","",regValue
If IsEmpty(regValue) Then
Wscript.Echo "The registry key does not exist."
Else
Wscript.Echo "The registry key exists."
End If
Run Code Online (Sandbox Code Playgroud)
我只想知道HKEY_USERES\.DEFAULT\.Network是否存在.我在搜索时发现的任何东西似乎都在讨论操纵它们,并且几乎认为密钥确实存在,因为如果它没有,它就会神奇地创建.
我试图重命名一个文件,并使用下面的代码,但它似乎不起作用.有人可以告诉我为什么吗?我使用此线程作为引用重命名文件而不复制到同一文件夹中
FSO.GetFile("MyFile.txt).Name ="Hello.txt"
我正在尝试运行在Windows Server 2008上使用RDS(远程数据服务)的经典asp应用程序
<object id="RDS_ACCOUNTS" CLASSID="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33"
height=1 width=1 VIEWASTEXT>
Run Code Online (Sandbox Code Playgroud)
以下是window_load()事件中编写的代码
RDS_ACCOUNTS.ExecuteOptions = 1
RDS_ACCOUNTS.FetchOptions = 1
RDS_ACCOUNTS.Server = "<%=strServer%>"
RDS_ACCOUNTS.Connect =Connect
RDS_ACCOUNTS.SQL = "SELECT ACCOUNT_TYPE_ID, CLIENT_ID, ACCOUNT_TYPE_DESC
FROM TBL_AP_CHART_ACCOUNT_TYPE
WHERE CLIENT_ID=<% = Session("ClientID")%>
ORDER BY ACCOUNT_TYPE_DESC "
RDS_ACCOUNTS.Refresh
Dim AccountRst
Set AccountRst = RDS_ACCOUNTS.Recordset
Run Code Online (Sandbox Code Playgroud)
这里connect变量的值来自RDSConn.inc文件,该文件具有值
Handler=MSDFMAP.Handler;Data Source=AMTAPP;
Run Code Online (Sandbox Code Playgroud)
此处理程序从位于C:\Windows包含OLEDB Connection String或DSN名称的文件夹中的msdfmap.ini文件中选择值.但是,当我运行此代码时,它给了我例外
对象或提供程序无法在RDS_ACCOUNTS.Refresh方法上执行请求的操作.
我想,让我的用户使用一个闪亮的应用程序,存储在gist.github.com使用library(shiny);runGist("xxx").为此,我创建了一个包含便携式Chrome,便携式R和2个文件的文件夹:
1 - run.R- 包含以下代码:
library(shiny);runGist("xxx")
Run Code Online (Sandbox Code Playgroud)
2 - 应该调用run.r的VBScript,以便调用runGist.
Randomize
CreateObject("Wscript.Shell").Run "R-Portable\App\R-Portable\bin\R.exe CMD BATCH --vanilla --slave run.R" & " " & RND & " ", 0, False
Run Code Online (Sandbox Code Playgroud)
当我点击VBScript时没有任何反应所以我想我错过了什么,怎么能解决这个问题呢?
更新:点击run.vbs后我得到了一个编号文件,当我在Notepad ++上打开它时,我得到了以下文字:
Downloading https://gist.github.com/#############/download
NULL
[1] TRUE
Listening on http://127.0.0.1:1337
Run Code Online (Sandbox Code Playgroud)
当我复制http://127.0.0.1:1337到浏览器时,它给出了我想要的东西.那么问题是如何使用消息中提供的地址调用浏览器? - 我注意到每次点击都会给出另一个地址.
我正在编写pl/sql程序,将数据从Oracle导出到Excel.我需要数据格式化,所以我不能使用CSV.我已经尝试过使用XML但是当我想导出70000行(50列,几乎300 MB)时,它会生成太大的文件.
这就是我决定使用HTML标签生成XLS文件的原因 - 它比XML小,我必须直接定义一些特殊列的格式(字符串,数字和日期由Excel自动格式化).它非常简单方便,但我无法定义多个工作表.
您知道如何在使用HTML编写的excel文件中添加/定义多个工作表吗?我尝试使用像<%ActiveWorkbook.Worksheet.Add%>这样的VBScript公式,但它不起作用.
在VBScript(ASP环境)中,是否可以将带有null值的参数传递给存储过程?
我想关闭在Windows机器上的应用程序中运行的VBScript对服务器进行URL调用时使用的缓存.我用什么函数/方法/对象来做这个?
当第一次进行调用时,我的基于Linux的Apache服务器从正在运行的CGI Perl脚本返回响应.但是,后续运行的脚本似乎使用了与第一次相同的响应,因此数据正在某处缓存.我的服务器日志确认在以后的那些时间内没有调用服务器,仅在第一次.
这就是我在做的事情.我在商业应用程序中使用以下代码(不想提及此应用程序,可能与我的问题无关):
With CreateObject("MSXML2.XMLHTTP")
.open "GET", "http://myserver/cgi-bin/nsr/nsr.cgi?aparam=1", False
.send
nsrresponse =.responseText
End With
Run Code Online (Sandbox Code Playgroud)
在上面的对象上是否有一个函数/方法来关闭缓存,或者我应该在创建URL之前调用一个方法/函数来关闭响应对象的缓存?
我在这里寻找解决方案:http://msdn.microsoft.com/en-us/library/ms535874(VS.85).aspx - 不是很有帮助.在这里:http://www.w3.org/TR/XMLHttpRequest/ - 非常不友好,难以阅读.
我也试图强制不使用http标头设置和html文件头元数据缓存:
服务器端Perl CGI脚本的片段,它将响应返回给调用客户端,将expiry设置为0.
print $httpGetCGIRequest->header(
-type => 'text/html',
-expires => '+0s',
);
Run Code Online (Sandbox Code Playgroud)
响应中的Http头设置发送回客户端:
<html><head><meta http-equiv="CACHE-CONTROL" content="NO-CACHE"></head>
<body>
response message generated from server
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
上面的http标头和html文档头设置都没有用,因此我的问题.
我有一个在开发中工作但不在服务器上的vbscript.
我想调试这个,但我不想在服务器上安装visual studio.
使用调试器调试此方法的最轻量级方法是什么?
我正在使用IE9 beta和下面的测试代码,当vbscript尝试附加到数组时遇到80020102错误.如果我在怪癖模式下运行它似乎工作.
不知道这是一个MS问题还是我正在做的不正确的事情,我已经将它提交给IE9s的bug库.有没有人对解决方案有什么建议?
我发布了完整的HTML,但它在预览中总是看起来格格不入.
-- VBscript part ---
Function getBlankArray()
getBlankArray = Array()
End Function
Function appendArray(arr, val)
redim preserve arr(ubound(arr) + 1)
arr(ubound(arr)) = val
appendArray = arr
End Function
-- javascript part ---
function test()
{
var contextKeysArray = getBlankArray();
var jscontextKeysArray = new Array();
for(var x=0; x < 10; x++)
{
jscontextKeysArray[x] = x;
}
for(i = 0; i < jscontextKeysArray.length; i++)
{
contextKeysArray = (appendArray(contextKeysArray, jscontextKeysArray[i]));
}
}
Run Code Online (Sandbox Code Playgroud)