GetSpecialFolder

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

構文
Folder = FileSystemObject.GetSpecialFolder( folderspec )
引数
folderspec
設定値のいずれかを指定
戻値
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. CREATEOLEOBJ
  2. FSO.GetSpecialFolder
  3. FSO.Folder.Files
  4. FSO.File.Name
  5. FSO.File.Path
  6. ROUND
  7. FSO.File.Size
結果
ファイル名 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
  1. CREATEOLEOBJ
  2. FSO.GetSpecialFolder
  3. FSO.Folder.Path
  4. FSO.GetTempName
  5. FSO.BuildPath
  6. FSO.CreateTextFile
  7. FSO.TextStream
  8. FSO.TextStream.WriteLine
  9. FSO.TextStream.Close
  10. FSO.DeleteFile
結果
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)
  1. CREATEOLEOBJ
  2. FSO.GetSpecialFolder
  3. FSO.Folder.Path
  4. FSO.GetTempName
  5. FSO.BuildPath
  6. GETSTR
  7. FOPEN
  8. FPUT
  9. FGET
  10. FCLOSE
  11. SENDSTR

Tempフォルダのパスを取得

CONST TemporaryFolder = 2

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

PRINT Folder.Path
  1. CREATEOLEOBJ
  2. FSO.GetSpecialFolder
  3. FSO.Folder.Path
結果
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
  1. CREATEOLEOBJ
  2. FSO.GetSpecialFolder
  3. WITH
  4. FSO.Folder.Name
  5. FSO.Folder.ParentFolder
  6. FSO.Folder.Path
  7. FSO.Folder.ShortName
  8. FSO.Folder.ShortPath
結果
名前 TMP
親フォルダパス D:\
パス D:\TMP
短い名前 TMP
短いパス D:\TMP