![]() |
||
|
運用 Windows管理者のためのWindows Script Host入門 第6回 WshShellオブジェクトの詳細(2)1.特殊フォルダの取得
海津智宏 |
||
|
|
||
前回に引き続きWshShellオブジェクトについて解説する。WshShellオブジェクトは、プログラムの実行やプログラムへのキー・ストロークの送信、環境変数の取得と設定など、OSに対する各種の処理を行うオブジェクトである。
特殊フォルダの取得
―― SpecialFoldersプロパティ ――
Windows環境では、デスクトップ(画面の最背面にある部分。壁紙などを貼り付けることができる)やマイ・ドキュメント、スタートメニューなどの特別なフォルダをよく使うが、それらに対応する実際のフォルダは、動作環境によってパスが異なるため(実行するOSやユーザーごとに異なるなど)、スクリプトから利用する場合も、コードでフォルダのパスを直接指定することはできない。
![]() |
このような場合に利用できるのがWshShellオブジェクトのSpecialFoldersというプロパティである。SpecialFoldersプロパティを利用すれば、これら特殊フォルダのパスを取得することができる。SpecialFoldersプロパティでフォルダを取得してから操作するようにすれば、特定の環境に依存しないスクリプトを作成可能だ。
|
SpecialFoldersで取得できるフォルダは次の16種類である。ただし、一時フォルダやWindowsのシステム・フォルダはSpecialFoldersではなく、環境変数を利用して取得する。
| フォルダ指定 | 意味 |
| AllUsersDesktop | All Usersのデスクトップ |
| AllUsersStartMenu | All Usersのスタート・メニュー |
| AllUsersPrograms | All Usersのスタート・メニューの「すべてのプログラム」 |
| AllUsersStartup | All Usersのスタート・メニューの「スタートアップ」 |
| Desktop | デスクトップ |
| Favorites | お気に入り |
| Fonts | フォント |
| MyDocuments | マイ・ドキュメント |
| NetHood | マイ・ネットワーク |
| PrintHood | プリンタ |
| Programs | スタート・メニューの「すべてのプログラム」 |
| Recent | 最近使ったファイル |
| SendTo | コンテキスト・メニューの「送る」 |
| StartMenu | スタート・メニュー |
| Startup | スタート・メニューの「スタートアップ」 |
| Templates | ファイルの新規作成のテンプレート |
| SpecialFoldersプロパティで取得できる特殊フォルダ | |
SpecialFoldersを使うときは、次のように、取得したい特殊フォルダのフォルダ指定文字をパラメータとして指定する。
objShell.SpecialFolders("フォルダ指定") |
例えばマイ・ドキュメントのフォルダを知りたければ、次のようにする。
objShell.SpecialFolders("MyDocument") |
実際には、SpecialFoldersはフォルダの名前(表中のフォルダ指定)をキーとするコレクションを表し、続くカッコの部分はそのデフォルト・プロパティであるItemプロパティとなっている(この関係については前出のオブジェクト・モデルの図を参照)。つまり上のスクリプトを省略せずに書くとすれば、次のようになる。
objShell.SpecialFolders.Item("MyDocument") |
次のコードは、各特殊フォルダをコマンドラインに一覧表示するサンプル・スクリプトである。
|
|
| SpecialFoldersの利用例 |
これをspecialfolders.vbsというファイルに保存して実行すると次のようになる。
D:\WSH> cscript specialfolders.vbs |
| INDEX | ||
| [運用]Windows管理者のためのWindows Script Host入門 | ||
| 第6回 WshShellオブジェクトの詳細(2) | ||
| 1.特殊フォルダの取得 | ||
| 2.環境変数の取得と設定 | ||
| 3.ショートカットの作成 | ||
| 運用 |
ホワイトペーパー(TechTargetジャパン)
- 第207話 究極の人事システム (2010/2/9)
部長、わが人事部が開発した究極の人事評価システムがついに完成しました! これで不要な社員が一発で分かります! - WindowsTIPS (2010/2/5)
− netshコマンドでTCP/IPのパラメータを設定する
− Virtual PC 2007の共有NATで利用可能なアドレス範囲
− スタンバイ復帰でパスワード入力を要求されないように - 仮想環境でActive Directoryを利用する (2010/2/4)
仮想環境にADをインストールすれば、自由にActive Directoryドメイン・ネットワークを構築して実験できる - 第206話 バナー広告案 (2010/2/2)
いまどきWebマーケティングが不可欠なのは分かるが、強烈な競合に並べてバナーなんか出して、勝ち目はあるのか?
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | 企業の仮想化に足りない“発想”とは? 仮想化運用管理のキモは意外なところに! New! |
| ◆ | 操作もマニュアルも分かりやすい! ユーザー視点で開発されたPC管理ツール New! |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |

| ◆ | セキュリティを知り尽くす上野氏が登壇! @ITメールソリューションLive! in Tokyo |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
| ◆ | 世界に通用するストレージの作り方とは? 製品に込めた思いを富士通の開発者に聞く |

| ◆ | OSSで手間も時間も、障害も減った―― 「マピオンの事例」オープンソース活用法 |
| ◆ | 「ノートPCの持ち出し禁止」で大丈夫? 情報漏えいを防ぐ管理手法とインフラは? |
| ◆ | 1日の処理を1秒に――MySQLの達人が語る 「コスト削減」できるチューニング |

| ◆ | ドキュメント作成を自動化して、SEの作業 効率を大幅アップ! Visio 2007の魅力 |
| ◆ | 急速に広がるHyper-Vでのサーバ仮想化 そのベストプラクティスをデルが解説 |
| ◆ | @IT主催セミナーで語られた、「担当者に 求められるセキュリティ対策」をレポート |

| ◆ | @IT「Windows 7」 特設サイトオープン! 最新情報・移行ノウハウを公開しています |








