FolderExists

指定したフォルダが存在するかどうかを確認します。

指定したファイルが存在するか調べるにはFileExistsを使用します。

構文
Boolean = FileSystemObject.FolderExist( filespec )
引数
filespec
フォルダ名を指定
戻値
True
指定したフォルダが存在する
False
指定したフォルダが存在しない

プログラム実行例

指定したフォルダが存在するか

DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject") DIM FolderName = INPUT("フォルダ名を入力してください。") IFB FSO.FolderExists(FolderName) THEN MSGBOX("「" + FolderName + "」フォルダは存在します。") ELSE MSGBOX("「" + FolderName + "」フォルダは存在しません。") ENDIF

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 item IN filenameErrChar filename = REPLACE(filename, item, "") NEXT RESULT = filename FEND ////////////////////////////////////////////////// // 【引数】 // path : ファイルのパス // 【戻値】 // 重複しないファイル名 ////////////////////////////////////////////////// FUNCTION uniqueFilename(path) DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject") IFB FSO.FileExists(path) THEN DIM fol = FSO.GetParentFolderName(path) DIM filename = FSO.GetBaseName(path) DIM 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