2011-09-07 50 views
2

我使用的應用程序的應用程序的唯一腳本語言是Javascript。所以我有一個INI文件,我需要檢查它是否存在,這可能嗎?是否可以使用Javascript(未在瀏覽器中運行)檢查磁盤上是否存在文件?

此外,如果它不存在,我該如何停止執行?

+0

您使用的是什麼應用程序?這取決於他們爲你提供什麼。 –

+0

只要Javascript沒有在服務器上運行,那麼可能會這樣做。但是我需要知道你的操作系統。 –

+0

對不起,這是Win7。此外,我使用的應用程序除了控制應用程序之外沒有提供任何其他功能,例如添加效果,圖像上的文本,調整圖像大小,刪除圖層等。但沒有通用文件IO或libs。 –

回答

1

好做這樣的事情的作品:

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

1

「是」,假定可以使用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? –

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