GetSpecialFolder

Windows の一部の特殊フォルダーのパスを返します。

構文
Folder = FileSystemObject.GetSpecialFolder( folderspec )
引数
folderspec
戻値
Folderオブジェクト

folderspec

定数名 説明
WindowsFolder 0 Windowsフォルダ
SystemFolder 1 Systemフォルダ
TemporaryFolder 2 Tempフォルダ

プログラム実行例

Windowsフォルダのファイル情報を取得

DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject") DIM Folder = FSO.GetSpecialFolder(0) FOR File IN Folder.Files WITH File PRINT "ファイル名<#TAB>" + .Name PRINT "パス<#TAB><#TAB>" + .Path PRINT "サイズ<#TAB><#TAB>" + ROUND(.Size / 1024, -2) + "KB" ENDWITH PRINT "----------" NEXT
結果
ファイル名	bfsvc.exe
パス		C:\Windows\bfsvc.exe
サイズ		71.5KB
----------
ファイル名	Bluestream.bmp
パス		C:\Windows\Bluestream.bmp
サイズ		2304.05KB
----------
ファイル名	bootstat.dat
パス		C:\Windows\bootstat.dat
サイズ		66KB
----------
ファイル名	BRRBCOM.INI
パス		C:\Windows\BRRBCOM.INI
サイズ		0KB
----------
ファイル名	Core.xml
パス		C:\Windows\Core.xml
サイズ		33.16KB
----------
ファイル名	csup.txt
パス		C:\Windows\csup.txt
サイズ		0.01KB
----------
ファイル名	diagerr.xml
パス		C:\Windows\diagerr.xml
サイズ		11.17KB
----------
ファイル名	diagwrn.xml
パス		C:\Windows\diagwrn.xml
サイズ		11.17KB
----------
ファイル名	eiunin21.exe
パス		C:\Windows\eiunin21.exe
サイズ		609KB
----------
ファイル名	EPMBatch.ept
パス		C:\Windows\EPMBatch.ept
サイズ		1.09KB
----------
ファイル名	explorer.exe
パス		C:\Windows\explorer.exe
サイズ		4507.44KB
----------
ファイル名	HelpPane.exe
パス		C:\Windows\HelpPane.exe
サイズ		1035KB
----------
ファイル名	hh.exe
パス		C:\Windows\hh.exe
サイズ		18KB
----------
ファイル名	iphlpapi.dll
パス		C:\Windows\iphlpapi.dll
サイズ		92.5KB
----------
ファイル名	mib.bin
パス		C:\Windows\mib.bin
サイズ		42.12KB
----------
ファイル名	msdfmap.ini
パス		C:\Windows\msdfmap.ini
サイズ		1.37KB
----------
ファイル名	NDSTray.INI
パス		C:\Windows\NDSTray.INI
サイズ		0KB
----------
ファイル名	notepad.exe
パス		C:\Windows\notepad.exe
サイズ		177KB
----------
ファイル名	pala_wsxga.bmp
パス		C:\Windows\pala_wsxga.bmp
サイズ		3796.93KB
----------
ファイル名	pala_wuxga.bmp
パス		C:\Windows\pala_wuxga.bmp
サイズ		6750.05KB
----------
ファイル名	pala_wxga.bmp
パス		C:\Windows\pala_wxga.bmp
サイズ		3000.05KB
----------
ファイル名	pala_xga.bmp
パス		C:\Windows\pala_xga.bmp
サイズ		2304.05KB
----------
ファイル名	pbextractclient.dll
パス		C:\Windows\pbextractclient.dll
サイズ		20KB
----------
ファイル名	PBExtractClientGlue.dll
パス		C:\Windows\PBExtractClientGlue.dll
サイズ		27.5KB
----------
ファイル名	PBExtractClientGlue64.dll
パス		C:\Windows\PBExtractClientGlue64.dll
サイズ		27.5KB
----------
ファイル名	PFRO.log
パス		C:\Windows\PFRO.log
サイズ		391.12KB
----------
ファイル名	regedit.exe
パス		C:\Windows\regedit.exe
サイズ		350KB
----------
ファイル名	setupact.log
パス		C:\Windows\setupact.log
サイズ		0.14KB
----------
ファイル名	setuperr.log
パス		C:\Windows\setuperr.log
サイズ		0KB
----------
ファイル名	splwow64.exe
パス		C:\Windows\splwow64.exe
サイズ		129.5KB
----------
ファイル名	system.ini
パス		C:\Windows\system.ini
サイズ		0.21KB
----------
ファイル名	TPSCCfg.exe
パス		C:\Windows\TPSCCfg.exe
サイズ		460.43KB
----------
ファイル名	twain_32.dll
パス		C:\Windows\twain_32.dll
サイズ		63KB
----------
ファイル名	twin.dlt
パス		C:\Windows\twin.dlt
サイズ		5.55KB
----------
ファイル名	win.ini
パス		C:\Windows\win.ini
サイズ		0.47KB
----------
ファイル名	WindowsShell.Manifest
パス		C:\Windows\WindowsShell.Manifest
サイズ		0.65KB
----------
ファイル名	WindowsUpdate.log
パス		C:\Windows\WindowsUpdate.log
サイズ		0.27KB
----------
ファイル名	winhlp32.exe
パス		C:\Windows\winhlp32.exe
サイズ		11.5KB
----------
ファイル名	WLXPGSS.SCR
パス		C:\Windows\WLXPGSS.SCR
サイズ		294.86KB
----------
ファイル名	WMPrfJpn.prx
パス		C:\Windows\WMPrfJpn.prx
サイズ		22.76KB
----------
ファイル名	WMSysPr9.prx
パス		C:\Windows\WMSysPr9.prx
サイズ		309.22KB
----------
ファイル名	write.exe
パス		C:\Windows\write.exe
サイズ		11KB
----------
ファイル名	_MSRSTRT.EXE
パス		C:\Windows\_MSRSTRT.EXE
サイズ		2.5KB
----------

一時ファイルを作成・削除

CONST TemporaryFolder = 2 DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject") DIM Folder = FSO.GetSpecialFolder(TemporaryFolder) DIM path = Folder.Path DIM name = FSO.GetTempName path = FSO.BuildPath(path, name) PRINT path DIM TextStream = FSO.CreateTextFile(path) // 現在の日時をファイルに書き込む TextStream.WriteLine(now()) TextStream.Close // Tempファイルを削除 // FSO.DeleteFile(path) FUNCTION now() GETTIME() RESULT = G_TIME_YY4 + "/" + G_TIME_MM2 + "/" + G_TIME_DD2 + " " + G_TIME_HH2 + ":" + G_TIME_NN2 FEND
結果
D:\TMP\rad83BB3.tmp

Tempフォルダのパスを取得

CONST TemporaryFolder = 2 DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject") DIM Folder = FSO.GetSpecialFolder(TemporaryFolder) PRINT Folder.Path
結果
D:\TMP

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)

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

CONST ssfDesktop = 0 CONST TemporaryFolder = 2 DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject") DIM Folder = FSO.GetSpecialFolder(TemporaryFolder) DIM source = FSO.BuildPath(Folder.Path, "NewFolder") DIM Shell = CREATEOLEOBJ("Shell.Application") Folder = Shell.NameSpace(ssfDesktop) DIM path = Folder.Self.Path DIM destination = path + IIF(COPY(path, LENGTH(path)) = "\", "", "\") FSO.MoveFolder(source, destination) ////////////////////////////////////////////////// // 【引数】 // expr : 評価する式 // truepart : 評価した式がTrueのときに返す値 // falsepart : 評価した式がFalseのときに返す値 // 【戻値】 // truepart : 評価した式がTrueのとき、falsepart : 評価した式がFalseのとき ////////////////////////////////////////////////// FUNCTION IIF(expr, truepart, falsepart) IFB VAL(expr) THEN RESULT = truepart ELSE RESULT = falsepart ENDIF FEND

フォルダ内の情報を表示

CONST TemporaryFolder = 2 DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject") DIM Folder = FSO.GetSpecialFolder(TemporaryFolder) WITH Folder PRINT "名前<#TAB><#TAB>" + .Name PRINT "親フォルダパス<#TAB>" + .ParentFolder.Path PRINT "パス<#TAB><#TAB>" + .Path PRINT "短い名前<#TAB>" + .ShortName PRINT "短いパス<#TAB>" + .ShortPath ENDWITH
結果
名前		TMP
親フォルダパス	D:\
パス		D:\TMP
短い名前	TMP
短いパス	D:\TMP

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

CONST ssfDesktop = 0 CONST TemporaryFolder = 2 DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject") DIM Folder = FSO.GetSpecialFolder(TemporaryFolder) DIM source = FSO.BuildPath(Folder.Path, "NewFolder") DIM Shell = CREATEOLEOBJ("Shell.Application") Folder = Shell.NameSpace(ssfDesktop) DIM path = Folder.Self.Path DIM destination = path + IIF(COPY(path, LENGTH(path)) = "\", "", "\") FSO.CopyFolder(source, destination) ////////////////////////////////////////////////// // 【引数】 // expr : 評価する式 // truepart : 評価した式がTrueのときに返す値 // falsepart : 評価した式がFalseのときに返す値 // 【戻値】 // truepart : 評価した式がTrueのとき、falsepart : 評価した式がFalseのとき ////////////////////////////////////////////////// FUNCTION IIF(expr, truepart, falsepart) IFB VAL(expr) THEN RESULT = truepart ELSE RESULT = falsepart ENDIF FEND

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