2011-12-14 83 views
1

我正嘗試在JScript中使用Scripting.FileSystemObject創建文本文件。如果文件中的目錄尚不存在,我似乎無法弄清楚如何創建文件。例如:使用Scripting.FileSystemObject在尚不存在的路徑中創建文件

var fso = new ActiveXObject("Scripting.FileSystemObject"); 

// Getting a JScript runtime error of "Path not found" 
fso.CreateTextFile("\\\\pathA\\pathB\\DirectoryDoesntExistButIWantItTo\\newfile.txt", true); 

我一直在尋找所有,但它似乎像文件沒有整齊地放在一個地方。例如,這裏有一些MSDN文章討論這個,但省略了我正在尋找的細節。

http://msdn.microsoft.com/en-us/library/aa711216(v=VS.71).aspx

http://msdn.microsoft.com/en-us/library/aa242706(v=VS.60).aspx

換句話說,我想我最好的谷歌這一點,我沒有找到我要找的。我不認爲這有什麼區別。但我在TestComplete 8中編寫了這個腳本;但對於所有密集的目的,您可以假設我正在IE中的html文件內的腳本標記中運行它。

+2

FileSystemObject的官方參考這裏: http://msdn.microsoft.com/en-us/library/6kxy1a51%28VS.84%29.aspx,雖然我不」不知道它是否會幫助太多。 – 2011-12-15 05:41:17

回答

3

如果你要在TestComplete運行你的代碼,你可以用自己的aqFileSystem.CreateFolderaqFile.Create方法。這裏有一個例子:

createFile("\\\\pathA\\pathB\\DirectoryDoesntExistButIWantItTo\\newfile.txt"); 
... 
function createFile(fileName) 
{ 
    aqFileSystem.CreateFolder(aqFileSystem.GetFileFolder(fileName)); 
    aqFile.Create(fileName); 
} 
3

我認爲你需要手動創建文件夾,如果它不存在。如果你只需要擔心眼前的父文件夾,您可以使用GetParentFolderName的幫助:

var fso = new ActiveXObject("Scripting.FileSystemObject"); 
var path = "\\\\pathA\\pathB\\DirectoryDoesntExistButIWantItTo\\newfile.txt"; 
var folder = fso.GetParentFolderName(path); 

if (!fso.FolderExists(folder)) 
{ 
    fso.CreateFolder(folder); 
} 

fso.CreateTextFile(path, true); 
相關問題