Folder2.Selfセルフ プロパティ

Folder2オブジェクト自身を表すFolderオブジェクトを返します。

構文
  1. FolderItem = Folder2.Self
引数
戻り値

Folder2 オブジェクトを返すメソッド・プロパティ

Shell.NameSpace メソッド
指定されたフォルダのFolder2 オブジェクトを作成して返します。

プログラム実行例

全ファイルをサブフォルダから直下に取り出す

D:\Pictures\100ANDRO\より下層フォルダにあるファイルを直下に移動させます。ファイル名が重複する場合は - コピー - コピー (2)のような連番をつけて変更されます。

空になったフォルダを削除するにはdeleteEmptyFoldersを使います。

UWSC
使用関数

デスクトップにChromeのショートカットを作成

デスクトップにGoogle Chromeでhttps://google.co.jpをシークレットモードで起動するショートカットを作成します。

UWSC
CONST FOF_RENAMEONCOLLISION = 8

DIM folderspec = "D:\Pictures\100ANDRO\"
DIM array = getFileList(folderspec)

DIM Shell = CREATEOLEOBJ("Shell.Application")
DIM Folder = Shell.NameSpace(folderspec)

DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")

FOR item IN array
	IF FSO.FolderExists(item) THEN CONTINUE
	PRINT Folder.Self.Path
	PRINT item
	Folder.MoveHere(item, FOF_RENAMEONCOLLISION)
NEXT

//////////////////////////////////////////////////
// 【引数】
//   folderspec : フォルダのパス 
//   TextStream : TextStreamオブジェクト 
//   filename : 一時ファイル名 
//   bool : 再帰呼び出しの深さが最上部かを表すブール値 
// 【戻り値】
//   
//////////////////////////////////////////////////
FUNCTION getFileList(folderspec, TextStream = NOTHING, filename = "", bool = TRUE)
	DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
	IFB TextStream = NOTHING THEN
		CONST TemporaryFolder = 2
	 	DIM TempFolder = FSO.GetSpecialFolder(TemporaryFolder)
		DIM TempFolderspec = TempFolder.Path
		DIM name = FSO.GetTempName
		filename = FSO.BuildPath(Tempfolderspec, name)
		TextStream = FSO.CreateTextFile(filename)
	ENDIF
	DIM Folder = FSO.GetFolder(folderspec)
	DIM Folders = Folder.SubFolders
	FOR Folder IN Folders
		getFileList(Folder.Path, TextStream, filename, FALSE)
		FOR File IN Folder.Files
			TextStream.WriteLine(File.Path)
		NEXT
	NEXT
	IFB bool THEN
		TextStream.Close
		TextStream = FSO.OpenTextFile(filename)
		DIM str = TextStream.ReadAll
		TextStream.Close
		FSO.DeleteFile(filename)
		RESULT = SPLIT(str, "<#CR>")
	ENDIF
FEND
結果
使用関数
解説

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

はい
いいえ
ご協力ありがとうございます。