Contents
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 EVAL(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 EVAL(expr) THEN
RESULT = truepart
ELSE
RESULT = falsepart
ENDIF
FEND
この記事は役に立ちましたか?