2012-10-31 56 views
0

這裏我試圖檢查,如果文件cmd.bat存在於臨時文件夾中,則不會創建新文件夾,否則請在臨時文件夾中創建一個cmd.bat文件。但與臨時文件夾路徑 「%temp%\ cmd.bat」 的問題,它會顯示錯誤:如何使用XUL/Javascript檢查windows%temp%文件夾中的文件存在?

Timestamp: 10/31/2012 3:21:40 AM 
Error: NS_ERROR_FILE_UNRECOGNIZED_PATH: Component returned failure code: 0x80520001     (NS_ERROR_FILE_UNRECOGNIZED_PATH) [nsILocalFile.initWithPath] 
Source File: chrome://myext/content/overlay.js 
Line: 9   

我的代碼:

 var chk_file = Components.classes["@mozilla.org/file/local;1"] 
      .createInstance(Components.interfaces.nsILocalFile); 

     chk_file.initWithPath("%temp%\cmd.bat"); 

     if (chk_file.exists() == false) { 
      Components.utils.import("resource://gre/modules/FileUtils.jsm"); 

      var file = FileUtils.getFile("TmpD", ["cmd.bat"]); 
      file.createUnique(Components.interfaces.nsIFile.NORMAL_FILE_TYPE, FileUtils.PERMS_FILE); 
     } 
     else 
     { 
      alert("file already exists"); 
     } 

回答

1

使用initWithPath只需要完整的系統路徑。

使用此去溫,然後嘗試

var environment = Components.classes["@mozilla.org/process/environment;1"] 
          .getService(Components.interfaces.nsIEnvironment); 


var path = environment.get("TEMP"); 
+1

的工作!,A馬麗娟感謝2 U。 – Himanshu

相關問題