标签: jscript

VBScript,JScript,Wscript ......哦,我的

我需要为WinXP编写一些脚本来支持Big Financial Corp.的一些分析师.请帮我确定哪种类型的Windows脚本最适合我的需求.

我的需求看起来很简单(无论如何对我来说)

  1. 在WinXP Pro SP2上运行(2002版)
  2. 不需要我的用户安装任何东西(所以Powershell已经出来了.同样是Perl,Python,以及关于stackoverflow上这些类型的问题的其他常见建议)
  3. 用非编译语言编写(因此用户将来有机会修改它们)
  4. 合理完整的语言功能(特别是日期/时间操作功能.我想也有现象概念,如子程序,递归等)
  5. 启动和控制其他程序的能力(在命令行)

从我对我的选择的匆忙审查,看起来我的选择

  1. VBScript中
  2. WScript的
  3. JScript中

我没有时间学习或深入研究这些(或者其他任何可用的标准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 vbscript scripting batch-file jscript

5
推荐指数
1
解决办法
1万
查看次数

Windows脚本宿主(jscript):我如何下载二进制文件?

我正在尝试使用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):在此操作的范围内未找到与名称,范围或选择条件匹配的对象或数据.

adodb wsh jscript

5
推荐指数
1
解决办法
9072
查看次数

如何将"外部"文本文件打包到elisp模块中?

我正在编写一个需要外部文本文件的elisp模块.

为了好奇,该模块将交互式JS REPL for Cscript.exe与emacs中的shell模式集成在一起.它允许我在Windows上的emacs中运行交互式javascript shell.

这是由js-comint.el推动的,但是依赖于Windows和cscript.exe的单独实现.

它目前正在运行,但有两个不同的文件:.el文件和.js文件.我宁愿只有一个档案.

我的问题是:如何将外部.js文件打包到.el文件中,这是一个先决条件,以便我可以安装一个文件?

我想我可以用(可能缩小的)js文件定义一个字符串变量并将其插入到.el模块中.我想会有一些字符串擒纵问题,但这会有效.这是最好的方式吗?还有其他建议吗?

javascript emacs elisp wsh jscript

5
推荐指数
1
解决办法
150
查看次数

使用"使用本地IIS Web服务器"时Microsoft JScript运行时错误

一切都工作正常,直到微软论坛中的某个人在命令提示符模式下尝试了几个devenv开关:devenv/Resetsettings和Run devenv /ResetSkipPkgs.Prompt一个无关的问题,即我只需点击一下保存就无法保存aspx文件按钮.从那时起,我遇到了一个新问题.

我尝试卸载VS2012,重新启动,并重新安装无济于事.

问题是我使用"使用本地IIS Web服务器"设置时收到Microsoft JScript运行时错误.IIS无法找到它加载的文件中定义的变量.当我使用"使用Visual Studio开发服务器"选项运行时,它可以工作.

为什么这样,我怎样才能让"使用本地IIS Web服务器"再次运行.

2个图像显示问题. 实际错误消息 显示文件的实际代码和Solution Explorer

(我昨天上传了图片,不确定发生了什么.)

我不知道该怎么回事.我在另一个论坛上看到了关于类似问题的另一篇文章.

asp.net crash jscript visual-studio-2012

5
推荐指数
1
解决办法
1121
查看次数

在javascript中有"createObject"吗?

在VBScript中有一个名为CreateObject的函数,它可以通过网页在客户端上运行.我以前用过它:

Set icaObj = CreateObject("Citrix.ICAClient")
CitrixVersion = icaObj.ClientVersion
Run Code Online (Sandbox Code Playgroud)

找出客户端计算机上安装的应用程序版本.

JavaScript中有类似的东西吗?

javascript jscript

5
推荐指数
1
解决办法
6703
查看次数

JScript:如何运行外部命令并获得输出?

我正在使用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 …

windows cmd wsh jscript

5
推荐指数
1
解决办法
1万
查看次数

在HTA中从JScript运行批处理文件

我正在用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)

html batch-file hta jscript

5
推荐指数
1
解决办法
757
查看次数

Windows脚本宿主使用的JavaScript版本

多年来,我一直在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版本?

windows scripting wsh jscript

5
推荐指数
1
解决办法
1591
查看次数

如何从经典asp中的xml字符串中的元素中提取文本

我有以下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的了解几乎没有,所以我确信那里的一位专家可以指出我正在犯的简单错误.

xml xpath asp-classic msxml6 jscript

4
推荐指数
1
解决办法
3094
查看次数

JScript 是否支持字符串修剪方法?

在使用 JScript 开发 Windows 过程时,似乎某些字符串方法无法工作。在这个使用 trim 的例子中,第 3 行产生了运行时错误:

“对象不支持此属性或方法”。

我的代码:

strParent = "  a  ";
strParent = strParent.trim();
WScript.Echo ("Value: " + strParent);
Run Code Online (Sandbox Code Playgroud)

我傻吗?任何想法是什么问题?

windows wsh windows-scripting jscript

4
推荐指数
2
解决办法
2700
查看次数