Contents
指定したフォルダが存在するかどうかを確認します。
指定したファイルが存在するか調べるには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