我需要为WinXP编写一些脚本来支持Big Financial Corp.的一些分析师.请帮我确定哪种类型的Windows脚本最适合我的需求.
我的需求看起来很简单(无论如何对我来说)
从我对我的选择的匆忙审查,看起来我的选择
我没有时间学习或深入研究这些(或者其他任何可用的标准WinXP安装).我迫切需要尽快选择和破解一些东西.
(目前的危机是需要运行给定的应用程序,传递几个日期参数).
一旦目前的危机结束,就会有更多这样的要求.
帮助我Obi Wan Stackoverflow ...你是我唯一的希望.
[edit]我目前的技能包括Perl,Javascript和Java,所以我最喜欢使用类似的东西
[编辑]好的.我将尝试在JScript中编写WSH文件.谢谢大家......一旦事情在这里安定下来,我会让你知道它是怎么回事(并想出一个接受答案).
[编辑]最终都解决了.感谢快速响应的人们.这是我给用户的内容
<job id="main">
<script language="JScript">
// ----- Do not change anything above this line ----- //
var template = "c:\\path\\to\\program -##PARAM## --start ##date1## --end ##date2## --output F:\\path\\to\\whereever\\ouput_file_##date1##.mdb";
// Handle dates
// first, figure out what they should be
dt = new Date();
var date1 = stringFromDate(dt, 1);
var date2 = stringFromDate(dt, 2);
// then insert …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Windows脚本宿主(JScript)自动下载文件.我看到ADODB.Stream有一个Open方法,其文档似乎应该可以打开HTTP URL并流式传输响应体:
var url = 'http://example.com/example.tar.gz';
var path = 'example.tar.gz';
var input = WScript.CreateObject('ADODB.Stream');
input.Open(url);
input.SaveToFile(path);
input.Close();
Run Code Online (Sandbox Code Playgroud)
但它在Open电话会议上遭到轰炸
(null):在此操作的范围内未找到与名称,范围或选择条件匹配的对象或数据.
我正在编写一个需要外部文本文件的elisp模块.
为了好奇,该模块将交互式JS REPL for Cscript.exe与emacs中的shell模式集成在一起.它允许我在Windows上的emacs中运行交互式javascript shell.
这是由js-comint.el推动的,但是依赖于Windows和cscript.exe的单独实现.
它目前正在运行,但有两个不同的文件:.el文件和.js文件.我宁愿只有一个档案.
我的问题是:如何将外部.js文件打包到.el文件中,这是一个先决条件,以便我可以安装一个文件?
我想我可以用(可能缩小的)js文件定义一个字符串变量并将其插入到.el模块中.我想会有一些字符串擒纵问题,但这会有效.这是最好的方式吗?还有其他建议吗?
一切都工作正常,直到微软论坛中的某个人在命令提示符模式下尝试了几个devenv开关:devenv/Resetsettings和Run devenv /ResetSkipPkgs.Prompt一个无关的问题,即我只需点击一下保存就无法保存aspx文件按钮.从那时起,我遇到了一个新问题.
我尝试卸载VS2012,重新启动,并重新安装无济于事.
问题是我使用"使用本地IIS Web服务器"设置时收到Microsoft JScript运行时错误.IIS无法找到它加载的文件中定义的变量.当我使用"使用Visual Studio开发服务器"选项运行时,它可以工作.
为什么这样,我怎样才能让"使用本地IIS Web服务器"再次运行.
2个图像显示问题.

(我昨天上传了图片,不确定发生了什么.)
我不知道该怎么回事.我在另一个论坛上看到了关于类似问题的另一篇文章.
在VBScript中有一个名为CreateObject的函数,它可以通过网页在客户端上运行.我以前用过它:
Set icaObj = CreateObject("Citrix.ICAClient")
CitrixVersion = icaObj.ClientVersion
Run Code Online (Sandbox Code Playgroud)
找出客户端计算机上安装的应用程序版本.
JavaScript中有类似的东西吗?
我正在使用cscript.exe运行我的JScript文件.在脚本中,我需要调用外部控制台命令并获取输出.
尝试:
var oShell = WScript.CreateObject("WScript.Shell");
var oExec = oShell.Exec('cmd /c dir');
WScript.Echo("Status "+oExec.Status);
WScript.Echo("ProcessID "+oExec.ProcessID);
WScript.Echo("ExitCode "+oExec.ExitCode);
Run Code Online (Sandbox Code Playgroud)
和
var oShell = WScript.CreateObject("WScript.Shell");
var ret = oShell.Run('cmd /c dir', 1 /* SW_SHOWNORMAL */, true /* bWaitOnReturn */);
WScript.Echo("ret " + ret);
Run Code Online (Sandbox Code Playgroud)
但没有运气:该命令运行(最有可能)没有错误,但我没有输出.请注意'cmd/c dir'这里只是一个示例,以确保我得到任何输出.
那么,我该怎么做呢?
更新: 我试图将此/sf/answers/425121931/转换为JScript,但也没有运气:
var oShell = WScript.CreateObject("WScript.Shell");
var oExec = oShell.Exec('cmd /c dir');
var strOutput = oExec.StdOut.ReadAll;
WScript.Echo("StdOut "+strOutput);
var strOutput = oExec.StdErr.ReadAll;
WScript.Echo("StdErr "+strOutput);
Run Code Online (Sandbox Code Playgroud)
该错误是Microsoft JScript runtime error: Object doesn't support …
我正在用JScript创建这个HTA应用程序,它写入一个BAT文件并在cmd之后打开它.
如果我从Windows手动打开创建的BAT文件,它应该像它应该的那样工作.
当我通过HTA打开它时,文件打开但只输出Echo并暂停.
请记住,我在编程时非常新.
这是JScript.
// Write the Bat file
// When run from HTA all I get is the "Echo Done" and "Pause"
// When I run from Windows without HTA, all of it works.
function writeBat() {
var fso = new ActiveXObject("Scripting.FileSystemObject");
var s = fso.CreateTextFile("C:/test/test.bat");
s.WriteLine('@echo off');
s.WriteLine('set output=C:/test/new/');
s.WriteLine('FOR %%a in (*.mkv) DO ("C:/Program Files/MKVToolNix/mkvmerge.exe" -o "%output%%%~na.mkv" "%%a")');
s.WriteLine('echo Done.');
s.WriteLine('pause');
s.Close(); }
// Run the Bat file.
function runBat() {
var MyObject = …Run Code Online (Sandbox Code Playgroud) 多年来,我一直在Windows脚本中的.JS文件和.WSF文件中使用JavaScript,但是我发现,当我将某些方法放到在网页外部执行的脚本中时,无法识别某些方法。在网页上的脚本中有效的代码。我知道不同的浏览器支持不同的JavaScript版本,MSDN的页面描述了Internet Explorer和Edge浏览器版本支持哪些功能和方法:
https://docs.microsoft.com/zh-CN/scripting/javascript/reference/javascript-version-information
但是并没有说明Windows脚本支持哪些方法。
Windows脚本中支持的JavaScript版本是否取决于Windows版本,计算机上安装的Internet Explorer版本还是其他因素或因素组合?JavaScript程序中是否有一种方法可以检测正在执行哪个JavaScript版本?
我有以下xml:
<GetPurchaseContractResponse xmlns="http://payments.amazon.com/checkout/v2/2010-08-31/">
<GetPurchaseContractResult>
<PurchaseContract>
<Id>amzn1.contract.1.1.1.d6779be6bf481167fe945</Id>
<State>ACTIVE</State>
<MerchantId>XXXXXXXXXX</MerchantId>
<ExpirationTimeStamp>2012-07-19T10:55:28.134Z</ExpirationTimeStamp>
<MarketplaceId>A1SDFERWERSDF</MarketplaceId>
</PurchaseContract>
</GetPurchaseContractResult>
<ResponseMetadata>
<RequestId>0db53477-d17a-11e1-ac3e-fd3e0de62222</RequestId>
</ResponseMetadata>
</GetPurchaseContractResponse>
Run Code Online (Sandbox Code Playgroud)
我想提取ExpirationTimeStamp元素的内容.
这是我的代码的相关部分(是的,我们使用的是jscript而不是vbscript):
var xmlDoc = Server.CreateObject("Msxml2.DOMDocument.6.0");
xmlDoc.loadXML(xml);
var expNode = xmlDoc.getElementsByTagName("ExpirationTimeStamp");
if (expNode)
Response.Write(expNode.text);
Run Code Online (Sandbox Code Playgroud)
我也尝试过selectSingleNode而不是getElementsByTagName
我已经尝试了GetPurchaseContractResponse/GetPurchaseContractResult/PurchaseContract/ExpirationTimeStamp作为xpath字符串,没有,一个和两个前导正斜杠
Response.Write(xmlDoc.xml)输出整个文档,因此加载正常.
expNode变量没有得到任何内容.
我对xpath的了解几乎没有,所以我确信那里的一位专家可以指出我正在犯的简单错误.
在使用 JScript 开发 Windows 过程时,似乎某些字符串方法无法工作。在这个使用 trim 的例子中,第 3 行产生了运行时错误:
“对象不支持此属性或方法”。
我的代码:
strParent = " a ";
strParent = strParent.trim();
WScript.Echo ("Value: " + strParent);
Run Code Online (Sandbox Code Playgroud)
我傻吗?任何想法是什么问题?