CreateFolder

指定したパスにフォルダを作成します。foldernameに指定したパスにフォルダを作成します。指定したフォルダが既に存在する場合は、エラーが発生します。

パスが存在するかどうか調べるにはFolderExistsメソッドを使います。

構文
FileSystemObject.CreateFolder( foldername )
引数
foldername
作成するフォルダーの名前を指定
戻値

プログラム実行例

Tempフォルダのファイルをデスクトップにコピー

CONST ssfDesktop = 0 CONST TemporaryFolder = 2 DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject") DIM Folder = FSO.GetSpecialFolder(TemporaryFolder) DIM source = FSO.BuildPath(Folder.Path, "*") DIM Shell = CREATEOLEOBJ("Shell.Application") Folder = Shell.NameSpace(ssfDesktop) DIM destination = FSO.BuildPath(Folder.Self.Path, "Temp") // フォルダが存在しなければ作成 IF FSO.FolderExists(Folder.Self.Path) = FALSE THEN FSO.CreateFolder(destination) FSO.CopyFile(source, destination)

Tempフォルダのファイルをデスクトップに移動

CONST ssfDesktop = 0 CONST TemporaryFolder = 2 DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject") DIM Folder = FSO.GetSpecialFolder(TemporaryFolder) DIM source = FSO.BuildPath(Folder.Path, "*") DIM Shell = CREATEOLEOBJ("Shell.Application") Folder = Shell.NameSpace(ssfDesktop) DIM destination = FSO.BuildPath(Folder.Self.Path, "Temp") // フォルダが存在しなければ作成 IF FSO.FolderExists(Folder.Self.Path) = FALSE THEN FSO.CreateFolder(destination) FSO.MoveFile(source, destination)

表示されているすべてのウィンドウのスクリーンショットを保存

DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject") DIM folderspec = "D:\Desktop\Screenshot" IF FSO.FolderExists(folderspec) = FALSE THEN FSO.CreateFolder(folderspec) FOR n = 0 TO GETALLWIN() - 1 DIM ID = ALL_WIN_ID[n] IFB STATUS(ID, ST_VISIBLE) = TRUE DIM filename = ID + "_" + STATUS(ID, ST_TITLE) filename = PathCleanupSpec(filename) DIM path = FSO.BuildPath(folderspec, filename) path = uniqueFilename(path) SAVEIMG(path, id) ENDIF NEXT ////////////////////////////////////////////////// // 【引数】 // filename : 使えない文字を削除するファイル・フォルダ名 // 【戻値】 // ファイル名として使えない文字を削除した文字列 ////////////////////////////////////////////////// FUNCTION PathCleanupSpec(filename) DIM filenameErrChar[12] = "\", "/", ":", "*", "?", "<#DBL>", "<#CR>", "<#TAB>", "<", ">", "|", "[", "]" FOR n = 0 TO UBound(filenameErrChar) filename = REPLACE(filename, filenameErrChar[n], "") NEXT RESULT = filename FEND ////////////////////////////////////////////////// // 【引数】 // 配列 : 上限値を求める配列 // 【戻値】 // 配列の上限値 ////////////////////////////////////////////////// FUNCTION UBound(array[]) RESULT = RESIZE(array) FEND ////////////////////////////////////////////////// // 【引数】 // path : ファイルのパス // 【戻値】 // 重複しないファイル名 ////////////////////////////////////////////////// FUNCTION uniqueFilename(path) DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject") IFB FSO.FileExists(path) THEN fol = FSO.GetParentFolderName(path) filename = FSO.GetBaseName(path) extension = FSO.GetExtensionName(path) i = 2 WHILE FSO.FileExists(FSO.BuildPath(fol, filename + " (" + i + ")." + extension)) i = i + 1 WEND RESULT = FSO.BuildPath(fol, filename + " (" + i + ")." + extension) ELSE RESULT = path ENDIF FEND

この記事は役に立ちましたか?
役に立った 役に立たなかった