1

JScript で 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);

いろいろ調べてみましたが、これに関するドキュメントが 1 か所にきちんとまとめられていないようです。たとえば、これについて説明している 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 ファイル内のスクリプト タグで実行していると想定できます。

4

2 に答える 2

3

TestCompleteでコードを実行する場合は、独自のaqFileSystem.CreateFolderメソッドとaqFile.Createメソッドを使用できます。次に例を示します。

createFile("\\\\pathA\\pathB\\DirectoryDoesntExistButIWantItTo\\newfile.txt");
...
function createFile(fileName)
{
  aqFileSystem.CreateFolder(aqFileSystem.GetFileFolder(fileName));
  aqFile.Create(fileName);
}
于 2011-12-15T16:20:07.327 に答える
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);
于 2011-12-15T05:51:56.293 に答える