GetSpecialFolder

Windowsの一部の特殊フォルダのShell.Folder オブジェクトを返します。

構文
  1. Folder = FileSystemObject.GetSpecialFolder( folderspec )
引数
folderspec
設定値のいずれかを指定
戻り値
FileSystemObject.Folder

設定値

定数名 説明
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
    (1) (2)
  1. FSO.Folder.Files(4)
  2. (6) (7) (8) (8)
結果
ファイル名	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
    (3) (4) (5) (6) (7) (11) (11) (13) (14) (17)
結果
D:\TMP\rad83BB3.tmp

csvファイルをHTMLのテーブルデータにする(csvToHTML)

CSVのデータをHTML(テーブル)に変換します。

クリップボードにcsvファイルのパスをコピーして実行します。

CONST TemporaryFolder = 2

DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
DIM Folder = FSO.GetSpecialFolder(TemporaryFolder)
DIM folderspec = Folder.Path
DIM name = FSO.GetTempName
DIM TempPath = FSO.BuildPath(folderspec, name)

DIM path = GETSTR(0)
DIM FID = FOPEN(path, F_READ)
DIM FID2 = FOPEN(TempPath, F_READ OR F_WRITE)
FPUT(FID2, "<table>", F_ALLTEXT)

FOR row = 1 TO FGET(FID, F_LINECOUNT)
	DIM col = 1
	FPUT(FID2, "<#TAB><tr>", 0)
	WHILE FGET(FID, row, col) <> ""
		FPUT(FID2, "<#TAB><#TAB><td>" + (FGET(FID, row, col)) + "</td>", 0)
		col = col + 1
	WEND
	FPUT(FID2, "<#TAB></tr>", 0)
NEXT
FPUT(FID2,"</table>", 0)

FCLOSE(FID)
FCLOSE(FID2)

FID = FOPEN(TempPath, F_READ)
SENDSTR(0, FGET(FID, F_ALLTEXT))
PRINT FGET(FID, F_ALLTEXT)
FCLOSE(FID)
    (3) (4) (5) (6) (7) (9) (10,11,28) (12,16,18,21,23) (14,30) (25,26,31) (29)

Tempフォルダのパスを取得

CONST TemporaryFolder = 2

DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
DIM Folder = FSO.GetSpecialFolder(TemporaryFolder)

PRINT Folder.Path
    (3) (4) (6)
結果
D:\TMP

フォルダ内の情報を表示

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
    (3) (4) (6) (7)
  1. FSO.Folder.ParentFolder(8)
  2. ([)
  3. FSO.Folder.ShortName(10)
  4. FSO.Folder.ShortPath(11)
結果
名前		TMP
親フォルダパス	D:\
パス		D:\TMP
短い名前	TMP
短いパス	D:\TMP