Folder2.Selfセルフ プロパティ

本ページには広告が含まれています。

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

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

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

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

プログラム実行例

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

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

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

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
使用関数

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

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

UWSC
CONST ssfDesktop = 0

DIM Shell = CREATEOLEOBJ("Shell.Application")
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
DIM WshShell = CREATEOLEOBJ("WScript.Shell")

DIM Folder2 = Shell.NameSpace(ssfDesktop)
DIM path = Folder2.Self.Path + "\Chrome.lnk"
DIM WshShortcut = WshShell.CreateShortcut(path)

WITH WshShortcut
	DIM chromePath = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
	.Description = "Chromeをシークレットモードで起動します。"
	.Hotkey = "Ctrl+Shift+C"
	.IconLocation = chromePath + ",7"
	.TargetPath = chromePath
	.WindowStyle = 3
	.Save
ENDWITH

Folder = Shell.NameSpace(FSO.GetParentFolderName(path))
DIM FolderItem = Folder.ParseName(FSO.GetFileName(path))
DIM ShellLinkObject = FolderItem.Getlink()
DIM Args[] = "--incognito", "https://google.co.jp"

WITH ShellLinkObject
	.Arguments = JOIN(Args)
	.Save
ENDWITH
結果
Chromeのプロパティ.png
使用関数
解説