PowerShell from Japan!!

VB6の関数一覧を出力する

ちょっとした小ネタです。VB6のソースから関数の一覧を抜き出したいと言われたので、PowerShellでサクっと作ってみました。 Get-ChildItem -recurse -include *.bas | % {[string]::Join("`n", ((Get-Content $_) | % { $_.Trim() })).Replace("_`n", "").Sp…

PowerShellで作るdeliciousクライアント ラスト

前回の続きです。 タグの一覧を取得 タグの一覧を取得する機能を実装します。まずは「DeliciousTag.vb」というファイル名でクラスファイルを追加します。 DeliciousTag.vb Public Class DeliciousTag Private _name As String Public Property Name() As Str…

PowerShellで作るdeliciousクライアント その4

前回の続きです。 ブックマークの削除 今回はブックマークの削除機能から実装します。DeliciousクラスにDeleteBookmarkという名前で、引数に削除するブックマークのURLを指定するメソッドを定義します。 Delicious.vb Sub DeleteBookmark(ByVal url As Strin…

PowerShellで作るdeliciousクライアント その3

前回の続きです。前回でブックマークの一覧を取得できるようにしましたが、あのままではURLがわかってもブラウザで開くという作業が面倒なので、その辺を簡略化できるように与えられたURLを既定のブラウザで開くコマンドレットを作っておきます。「Commands…

PowerShellで作るdeliciousクライアント その2

前回の続きです。 ブックマーク一覧の取得 - dirコマンドへの対応 まずはブックマーク一覧の取得機能を実装します。操作的には「delicious」ドライブに移動して、dirコマンド(Get-ChildItemコマンドレット)を実行するとブックマークの一覧が表示されるとい…

PowerShellで作るdeliciousクライアント その1

以前、PowerShellのカスタムプロバイダーという機構を紹介する記事を書きました。 カスタムプロバイダーを作ってみよう その1 この時は具体的なプロバイダーではなく、プロバイダー作成の概要を説明するという形でしたが、今回いい題材を思いついたのでその…

PowerShellでWebにアクセスしてみよう!

今回はPowerShellを使ってWeb(インターネット)にアクセスする方法を紹介します。PowerShellは.NET Framework(.NET)をベースにして作られているので、.NETに用意されている豊富なライブラリをそのまま使用することができます。Webへのアクセスについても.…

INETA & techbank.jp & PowerShell from Japan & HIRO's.NET 合同勉強会 in 仙台

自分も参加している「PowerShell from Japan」と「techbank.jp」「HIRO's.NET」が合同で勉強会を開催されるそうなので宣伝しときます。 2009/3/28(土)に仙台で開催です。興味のある方は是非参加してみて下さい。

カスタムプロバイダーを作ってみよう ラスト

前回の続きです。今回はSet−Contentコマンドレットへの対応からはじめます。 Set-Contentコマンドレットへの対応 Set-Contentコマンドレットに対応するには、IContentCmdletProviderインターフェースの以下のメソッドを実装します。 void ClearContent ICont…

カスタムプロバイダーを作ってみよう その4

前回の続きです。今回はタブ補完から実装します。 タブ補完への対応 タブ補完に対応させるには、以下のメソッドをオーバーライドします。 void GetChildNames(string path, ReturnContainers returnContainers) 実装する前にタブ補完とはどのような機能なの…

カスタムプロバイダーを作ってみよう その3

前回の続きです。今回はNew-Itemコマンドレットへの対応から始めます。 New-Itemコマンドレットへの対応 New-Itemコマンドレットに対応させるには、以下のメソッドをオーバーライドします。 void NewItem(string path, string itemTypeName, object newItemV…

カスタムプロバイダーを作ってみよう その2

前回の続きです。今回はまず、自作のプロバイダーでcd ができるようにする、つまりSet-Locationコマンドレットに対応させます。その前にこのプロバイダーをデバッグできるようにしておきましょう。 デバッグの設定 Visual Studioのプロジェクトのプロパティ…

カスタムプロバイダーを作ってみよう その1

PowerShellの重要な特徴として、ファイルシステムやレジストリ、環境変数など異なるデータソースに対して共通の操作(コマンドレット)が行えるということが挙げられます。例えば、以下のように「C」ドライブ直下に「New-Item」コマンドレットでファイルを作…

PowerShellの実行環境について

今回はPowerShellの実行環境について、私が普段使っている環境を紹介します。 ここでいう環境とはPowerShellの起動時に読み込まれるプロファイルファイルの設定についてです。プロファイルファイルとはユーザディレクトリ配下の「WindowsPowerShell\profile.…

PowerShell from Japan!!に参加することになりました

HIRO's.NETのHIROさんに誘われて「PowerShell from Japan!!」というサイトに参加することになりました。 http://powershell.hiros-dot.net/default.aspx PowerShellを専門に扱うサイトで、PowerShellの入門記事やTipsを紹介していこうということらしいです。…

PowerShell流のXML生成術

多くの言語ではXMLの生成に通常DOM(Document Object Model)を使いますが、PowerShellではDOMを使うよりも可読性や使い勝手の良さでより優れた方法があります。 基本 その方法は以下のように「ヒア文字列」と「文字列への変数展開」を利用した簡易的なテン…