Windows XP及以上:JavaScript而不是VBScript?
我问Wimmel是否可以使用VBScript而不是批处理文件。我认为这是一个伟大的想法。这引出了另一个问题Windows XP及以上:JavaScript而不是VBScript?,javascript,vbscript,Javascript,Vbscript,我问Wimmel是否可以使用VBScript而不是批处理文件。我认为这是一个伟大的想法。这引出了另一个问题 我是否可以使用JavaScript访问VBScript功能,同时仍然与Windows XP兼容到当前版本?(特别是检查文件修改时间戳并根据最近修改的方式运行命令)不确定这是否是一个好主意,但可以使用JavaScript(实际上是JScript)而不是VBScript。只需使用ActiveXObject类,而不是VBScript中用于创建对象的CreateObject函数 下面是使用Wind
我是否可以使用JavaScript访问VBScript功能,同时仍然与Windows XP兼容到当前版本?(特别是检查文件修改时间戳并根据最近修改的方式运行命令)不确定这是否是一个好主意,但可以使用JavaScript(实际上是JScript)而不是VBScript。只需使用ActiveXObject类,而不是VBScript中用于创建对象的CreateObject函数 下面是使用Windows脚本和JScript读取文件修改时间戳的代码:
var o = new ActiveXObject("Scripting.FileSystemObject");
var file = o.GetFile("c:\\temp\\test.js");
WScript.Echo(file.DateLastModified);
有关更多信息,请参见和尽管可能有更简单的方法来实现您的目标,但我尝试了您问题中更具理论性的部分,显然我们需要的所有东西都在那里 以下是我尝试过的: test.js:
WshShell = WScript.CreateObject("WScript.Shell");
var result = WshShell.Run("test.vbs", 0, true);
WSH.Echo(result);
WSH.Echo "test.vbs"
WSH.Quit 5
test.vbs:
WshShell = WScript.CreateObject("WScript.Shell");
var result = WshShell.Run("test.vbs", 0, true);
WSH.Echo(result);
WSH.Echo "test.vbs"
WSH.Quit 5
看看可以用vb或javascript编写的。不确定从Javascript访问vbscript是什么意思这不是我的意思。我不是说,用JScript执行VBScript。我的意思是使用JScript.ah访问等效的功能。好的,不确定您在寻找什么。我想所有的语言都有能力解决所有的逻辑问题,所以在VBScript中可以解决的问题也可以在JScript中解决。只是以一种稍微不同的方式。真正的区别可能在于API。但是JScript和VBScript主要使用ActiveX组件,使用
WScript.CreateObject
实现这些功能,并且生成的对象与该语言没有关联。我可能不应该发表这样的评论。。。我没有任何严肃的理由不在Windows脚本中使用JScript。ActiveX对象对于VBScript来说更“原生”,所以我会选择VB来完成像这样的任务,但这是非常主观的。