是否可以在Windows Scripting Host(WSH)VBS脚本中读取系统环境变量?
(我正在使用Windows Scripting Host编写VBScript以获取Cruise Control的任务,并希望获取项目构建URL.)
首先,一个警告.主脚本不在网页中运行.我将使用Windows脚本宿主在Windows中运行.js文件.
问题: 我想创建一个包含许多对象的javascript"库",每个对象都有许多功能.我希望这个库会随着时间的推移变得相当大,并希望将它保存在一个单独的javascript文件中(我们称之为Library.js).我想从另一个脚本访问Library.js中的对象(让我们称之为User.js).
本质上,我正在寻找类似于C/C++"包含"范例的东西.
反正有没有在javascript中实现这个?(请记住,这不是基于网络的)
什么是stackoverflow批准(因此正确)方法强制VBS使用cscript而不是wscript运行 - 无论用户尝试什么?
一个快速的谷歌搜索显示了大量的例子,但其中一些只是不起作用,而那些通常不能处理它可能已经参数运行的事实,所以我很想知道最好的方法是什么.
这是一个不处理参数的例子:
sExecutable = LCase(Mid(Wscript.FullName, InstrRev(Wscript.FullName,"\")+1))
If sExecutable <> "cscript.exe" Then
Set oShell = CreateObject("wscript.shell")
oShell.Run "cscript.exe """ & Wscript.ScriptFullName & """"
Wscript.Quit
End If
Run Code Online (Sandbox Code Playgroud)
我很欣赏这可能很容易修改以处理参数,但意识到这可能不是解决问题的最佳方法.
背景:我正在编写一个脚本,可以通过双击或(很可能)从DOS批处理文件或作为计划任务运行.它可以包含一个或多个可选的命令行参数.
我正在尝试学习如何使用CScript.exe运行Javascript(而不是VBScript),但是当我尝试时,我收到一个错误:
cscript temp.js
Input Error: There is no script engine for file extension ".js".
Run Code Online (Sandbox Code Playgroud)
我认为这是可能的 - 任何想法是什么问题?
首先澄清这个问题的目的是HTTP(s)下载.对于FTP,我可能会问(并回答)另一个问题.以下是一些类似的问题 - 但我希望更加准确.
除了排除外部工具,我希望解决方案适用于最广泛类型的Windows机器(包括仍然有足够大份额的XP,Win2003,Vista).另外,作为WSH可能的选项之一,我不喜欢使用临时文件和所有要打包在单个.bat文件中的东西(jscript和vbscript都可以).
什么是可能的方法.
有没有人知道使用该选项背后的原因:
Wscript.CreateObject("some.object")
Run Code Online (Sandbox Code Playgroud)
和
CreateObject("some.object")
Run Code Online (Sandbox Code Playgroud)
在VBScript中?当我找到使用的文档或示例时Wscript.CreateObject,我通常会重写使用CreateObject,因为它似乎总是有效,然后我可以轻松地重用HTA或ASP中的代码.但我一直想知道为什么这个功能存在,如果你在VBScript中使用这种或那种方式会有什么不同.
我正在构建一个HTA应用程序,我需要在其中显示一个文件列表及其相关的系统图标.
我正在使用FileSystemObject列出文件,但似乎无法获取图标...
我在VBS中找到了一个可以将文件图标保存为.ico的脚本.
它读取文件(PE资源文件,.exe或dll)并解析图标数据.我修改了该脚本以返回图标的字节,将其转换为base64并在HTML中使用嵌入的base64图像.这是原始脚本:http://gilpin.us/IconSiphon/
问题
)在大多数情况下,.ico包含多个图标(许多尺寸和颜色深度),但我无法指定使用哪一个(因为我需要16x16图标).
)并非所有图标都显示
)因为它读取exe和dll,所以文件可能很慢(但我很好,我可以缓存已经获取的图标)
我也试过一些ActiveX控件,但似乎都没有正常工作.甚至微软提供的那些(ShellFolderView或ListView)都非常错误.
要求
必须显示16x16图标
必须允许多个文件选择
一切都必须嵌入hta(如果可能的话).没有外部.exe
有谁知道实现这一目标的方法?
谢谢!
如何在WSH usig JScript中打开提示对话框?
我在文档中找到的唯一弹出对话框是WshShell.Popup()方法.但是我需要一种方法来请求用户输入一个字符串,比如DOM中的window.prompt()方法.
谢谢.
我对这里的错误感到困惑......
<script language="javascript" runat="server">
function GMTNow(){return new Date().toGMTString()}
</script>
<%
Const AWS_BUCKETNAME = "uk-bucketname"
Const AWS_ACCESSKEY = "GOES HERE"
Const AWS_SECRETKEY = "SECRET"
LocalFile = Server.Mappath("/test.jpg")
Dim sRemoteFilePath
sRemoteFilePath = "/files/test.jpg" 'Remote Path, note that AWS paths (in fact they aren't real paths) are strictly case sensitive
Dim strNow
strNow = GMTNow() ' GMT Date String
Dim StringToSign
StringToSign = Replace("PUT\n\nimage/jpeg\n\nx-amz-date:" & strNow & "\n/"& AWS_BUCKETNAME & sRemoteFilePath, "\n", vbLf)
Dim Signature
Signature = BytesToBase64(HMACSHA1(AWS_SECRETKEY, StringToSign))
Dim Authorization
Authorization = …Run Code Online (Sandbox Code Playgroud) MSDN说,函数SetDllDirectory()可用于将目录插入DLL搜索路径.可以从批处理文件或cmd脚本访问此函数,也许使用via cscript?
我们的目标是在%WINDIR%等预先存在的旧版本之前找到我们的开发版本的dll,而不必为此编写程序.
提前感谢您的时间和想法.