WshShell.SpecialFolders

機能

WshSpecialFolders オブジェクトはコレクションです。このオブジェクトには、デスクトップのフォルダ、[スタート] メニューのフォルダ、個人用ドキュメントのフォルダなど、Windows の特定フォルダ セット全体が格納されます。目的の特定フォルダを取得するには、フォルダ名をコレクション内のインデックスとして使用します。要求したフォルダ (strFolderName) を使用できない場合は、NULL が返されます。たとえば、Windows 95 では、AllUsersDesktop フォルダがないため、strFolderName が AllUsersDesktop と等しい場合に NULL が返されます。

 

関連

WshShellオブジェクトCurrentDirectory / Environment / SpecialFolders

 

使用できる特定フォルダは次のとおりです。

文字列 内容
AllUsersDesktop 0 すべてのユーザーに共通のデスクトップ
AllUsersStartMenu 1 すべてのユーザーに共通のスタートメニュー
AllUsersPrograms 2 すべてのユーザーに共通のプログラムメニュー
AllUsersStartup 3 すべてのユーザーに共通のスタートアップ
Desktop 4 ログインユーザーのデスクトップ
AppData ※公式サイトでは記載されていない 5 ログインユーザーのアプリ用データ
PrintHood 6 ログインユーザーのプリンタ
Templates 7 ログインユーザーの新規作成のテンプレート
Fonts 8 フォント
NetHood 9 ログインユーザーのネットワーク
Desktop ※4と同じ? 10 ログインユーザーのデスクトップ
StartMenu 11 ログインユーザーのスタートメニュー
SendTo 12 ログインユーザーの送る
Recent 13 ログインユーザーの最近使ったファイル
Startup 14 ログインユーザーのスタートアップ
Favorites 15 ログインユーザーのお気に入り
MyDocuments 16 ログインユーザーのマイドキュメント
Programs 17 ログインユーザーのプログラムメニュー

 

 

サンプル

引数を指定しない場合は、特殊フォルダのコレクションが返却されます。

Set ws = WScript
Set s = WScript.CreateObject("WScript.Shell")
For Each f In s.SpecialFolders
  ws.Echo f
Next

実行例:

Microsoft (R) Windows Script Host Version 5.812
Copyright (C) Microsoft Corporation. All rights reserved.

C:\Users\Public\Desktop
C:\ProgramData\Microsoft\Windows\Start Menu
C:\ProgramData\Microsoft\Windows\Start Menu\Programs
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
C:\Users\さ\Desktop
C:\Users\さ\AppData\Roaming
C:\Users\さ\AppData\Roaming\Microsoft\Windows\Printer Shortcuts
C:\Users\さ\AppData\Roaming\Microsoft\Windows\Templates
C:\Windows\Fonts
C:\Users\さ\AppData\Roaming\Microsoft\Windows\Network Shortcuts
C:\Users\さ\Desktop
C:\Users\さ\AppData\Roaming\Microsoft\Windows\Start Menu
C:\Users\さ\AppData\Roaming\Microsoft\Windows\SendTo
C:\Users\さ\AppData\Roaming\Microsoft\Windows\Recent
C:\Users\さ\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
C:\Users\さ\Favorites
C:\Users\さ\Documents
C:\Users\さ\AppData\Roaming\Microsoft\Windows\Start Menu\Programs

 

引数を指定した場合は、引数に対応する特殊フォルダが返却されます。

Set ws = WScript
Set s = WScript.CreateObject("WScript.Shell")
ws.Echo s.SpecialFolders("AllUsersDesktop")
ws.Echo s.SpecialFolders("AllUsersStartMenu")
ws.Echo s.SpecialFolders("AllUsersPrograms")
ws.Echo s.SpecialFolders("AllUsersStartup")
ws.Echo s.SpecialFolders("Desktop")
ws.Echo s.SpecialFolders("AppData")
ws.Echo s.SpecialFolders("PrintHood")
ws.Echo s.SpecialFolders("Templates")
ws.Echo s.SpecialFolders("Fonts")
ws.Echo s.SpecialFolders("NetHood")
ws.Echo s.SpecialFolders("StartMenu")
ws.Echo s.SpecialFolders("SendTo")
ws.Echo s.SpecialFolders("Recent")
ws.Echo s.SpecialFolders("Startup")
ws.Echo s.SpecialFolders("Favorites")
ws.Echo s.SpecialFolders("MyDocuments")
ws.Echo s.SpecialFolders("Programs")

実行例:

Microsoft (R) Windows Script Host Version 5.812
Copyright (C) Microsoft Corporation. All rights reserved.

C:\Users\Public\Desktop
C:\ProgramData\Microsoft\Windows\Start Menu
C:\ProgramData\Microsoft\Windows\Start Menu\Programs
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
C:\Users\info\OneDrive\デスクトップ
C:\Users\info\AppData\Roaming
C:\Users\info\AppData\Roaming\Microsoft\Windows\Printer Shortcuts
C:\Users\info\AppData\Roaming\Microsoft\Windows\Templates
C:\Windows\Fonts
C:\Users\info\AppData\Roaming\Microsoft\Windows\Network Shortcuts
C:\Users\info\AppData\Roaming\Microsoft\Windows\Start Menu
C:\Users\info\AppData\Roaming\Microsoft\Windows\SendTo
C:\Users\info\AppData\Roaming\Microsoft\Windows\Recent
C:\Users\info\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
C:\Users\info\Favorites
C:\Users\info\OneDrive\ドキュメント
C:\Users\info\AppData\Roaming\Microsoft\Windows\Start Menu\Programs

 

関連

WshShellオブジェクトCurrentDirectory / Environment / SpecialFolders

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です