是否可以使用Javascript(未在浏览器中运行)检查磁盘上是否存在文件?

问题描述:

我使用的应用程序的应用程序的唯一脚本语言是Javascript。所以我有一个INI文件,我需要检查它是否存在,这可能吗?是否可以使用Javascript(未在浏览器中运行)检查磁盘上是否存在文件?

此外,如果它不存在,我该如何停止执行?

+0

您使用的是什么应用程序?这取决于他们为你提供什么。 –

+0

只要Javascript没有在服务器上运行,那么可能会这样做。但是我需要知道你的操作系统。 –

+0

对不起,这是Win7。此外,我使用的应用程序除了控制应用程序之外没有提供任何其他功能,例如添加效果,图像上的文本,调整图像大小,删除图层等。但没有通用文件IO或libs。 –

好做这样的事情的作品:

var file = new File(datafile); 
var result = file.open ('r'); 

如果resulttrue,然后将文件Ë xists,否则false表示该文件不存在。

+0

你能为这个File对象提供一些文档吗?它使用什么环境? – XP1

+0

SpiderMonkey([https://developer.mozilla.org/en/SpiderMonkey/File_object](https://developer.mozilla.org/en/SpiderMonkey/File_object))和Adobe ExtendScript。 – XP1

“是”,假定可以使用ActiveX。

参见FileSystemObject又名“FSO”(特别是FileExists方法)。 FSO是Windows脚本的一部分。

也可以使用MSXML load method来访问“file://”并捕获适当的错误。 (我不知道是否可以在这里使用“file://”的vanilla XmlHttpRequest请求,以及/或者在什么情况下......它可能与MSXML的XHR和IE7/8中的XHR不同)

快乐编码。


如果JavaScript的从HTA/HTML Aplication或Windows Sidgebar小工具等运行,那么它的“安全级别0”或“半神模式”。

在另一方面,HTA运行作为一个完全信任的应用程序,因此具有比普通的HTML文件的更多特权......

+0

谢谢我试过这个var'fso = new ActiveXObject(“Scripting.FileSystemObject”);'但它说activexobject没有构造函数。 –

+0

@Joan Venge也许Photoshop不支持ActiveX,或者语法可能不同。 – 2011-09-07 20:16:33

+0

我不认为它支持ActiveX,我会查找它。但是,这是不可能的,没有使用ActiveX? –

var myfile = new File(myfile_path); 
    if (!myfile.exists) { 
     alert(myfile + " could not be found!"); 
    }