2011-12-14 10 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

、私はこれをGoogleに全力をしようとしていると私は私が探しているものを見つけていませんよ。私はこれが違いをもたらすとは思わない。私はTestComplete 8内にこのスクリプトを書いています。すべての集中的な目的のために、IE上のhtmlファイル内のスクリプトタグでそれを実行していると仮定することができます。

+2

FileSystemObjectオブジェクトのための公式リファレンスはここにある: http://msdn.microsoft.com/en-us/library/6kxy1a51%28VS.84%29.aspx、私はドンものの」それがあまりにも助けになるかどうかは分かりません。 –

答えて

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); 
関連する問題