2005-12-01から1ヶ月間の記事一覧

ファイルをダウンロードする

MSH

「System.Net.WebClient」はファイルのダウンロード/アップロードができます。 ファイルのダウンロード(ファイルを保存) ファイルの読み込み処理 - PowerShell Memoのサンプルと同様です。 ダウンロードしたファイルを保存する MSH C:\> $url="http://www.g…

ファイルの読み込み処理

MSH

ファイルを行単位で処理する 「get-contents」はファイル内容を取得するCmdletです。 「get-contents」をパイプ経由でforeachに渡すと、ファイル内容を行単位で処理できます。 テキストファイルに書かれたURLを読み込んでファイルをダウンロードする URLを書…

パラメータ群が複数ある場合の調べ方(3)

MSH

パラメータ群が複数ある場合の調べ方(2) - PowerShell Memoの続きです。 Cmdletのパラメータを調べる 今回は「new-object」の「Com」パラメータ群について調べてみましょう。 ParameterSetInfo(Com) MSH C:\> $((gcm new-object).ParameterSets)[1].Name …

「Monadの管理者ガイド」をオンラインで読む

MSH

Monadの管理者ガイドが近日発売 - PowerShell Memoで紹介した「Monadの管理者ガイド」。 注文したAmazonで「配送予定日: 2005/12/3 - 2005/12/5」となっているのですが、ステータスは未発送のままで、未だに届きません。 でも海外ではすでに発売されている…

パラメータ群が複数ある場合の調べ方(2)

MSH

パラメータ群が複数ある場合の調べ方(1) - PowerShell Memoの続きです。 Cmdletのパラメータを調べる 「new-object」は「Net」と「Com」という名前で区別されるパラメータ群を持っています。 ParameterSetInfo(Net) MSH C:\> $((gcm new-object).Paramete…

パラメータ群が複数ある場合の調べ方(1)

MSH

Cmdletのパラメータを調べる Cmdletは「System.Management.Automation.CmdletInfo」で定義されます。 MSH C:\> (get-command new-object).getType().fullname System.Management.Automation.CmdletInfo Cmdletのパラメータ群は「ParameterSetInfo」で定義さ…

パラメータの別名(エイリアス)を調べる

MSH

別名(エイリアス)を取得する Cmdletのいくつかのパラメータは、別名(エイリアス)を持ちます。例えば、「ErrorAction」の別名は「ea」ですから、 以下の2つのスクリプトは同じ意味です。 remove-item "sample.txt" -ErrorAction SilentlyContinue remove-ite…

任意のオブジェクトを作成する(3)

MSH

任意のオブジェクトを作成する(2) - PowerShell Memoの続きです。 今回は「MshScriptMethod」を利用してメソッドを追加するサンプルを紹介します。 メソッドの追加(MshScriptMethod) 以下のサンプルでは「name(MshNoteProperty)」を表示する「introduce(Msh…

Monadの次リリースは来年1月上旬

MSH

Monadの次リリース ニュースグループでMonadの次リリースの話題がありました。 来年1月上旬を予定しているそうです。 http://www.microsoft.com/communities/newsgroups/list/en-us/default.aspx?&lang=en&cr=us&guid=&sloc=en-us&dg=microsoft.public.wind…

任意のオブジェクトを作成する(2)

MSH

任意のオブジェクトを作成する(1) - PowerShell Memoの続きです。「System.Management.Automation.MshObject」に任意のプロパティやメソッドを追加することで、任意のオブジェクトを作成することができます。 MshScriptPropertyは[ScriptBlock]としてプロパ…

任意のオブジェクトを作成する(1)

MSH

「System.Management.Automation.MshObject」に任意のプロパティやメソッドを追加することで、任意のオブジェクトを作成することができます。 プロパティの追加(MshNoteProperty) 以下のサンプルでは「String」型と「int」型のプロパティを追加しています。 …

MSH Minesweeper GUI game

MSH

MSH Minesweeper GUI game 敬服しました。 MSH Minesweeper GUI game 素晴らしい。(^^;

Obfuscated Monad Script

MSH

難読化 Monadでソースコードを難読化するという記事です。 Proudly Serving My Corporate Masters: Obfuscated Monad Scriptここで紹介されているサンプル自体は確かに難読化されていますが、 難読化ソースを出力するツールは紹介されていません。 ・・・と…

Scripting with the Microsoft Shell

MSH

MSHのScript Centerがオープン MicrosoftのWebにMSHのScript Centerが設置されました。 これから、MSHの関連情報を集約していく感じですね。 VBScriptのサンプルのMSH移植版サンプルも置いてあります。 感想 現時点では、WMIを利用したサンプル/記事ばかり…

連想配列のソート

MSH

ニュースグループで「連想配列のソート方法」を見つけたので紹介します。 連想配列のソート まず、3つの要素を含む連想配列を作成します。 MSH C:\> $hash = @{one = 1;two = 2; three=3}中身を確認してみます。 MSH C:\> $hash Key Value --- ----- two 2 …

クラス名を検索する

MSH

読み込まれているアセンブリからクラス名を検索し、フルネームを取得するスクリプトを紹介します。 クラス名を検索するスクリプト find-class.msh param([String]$target) if ($target -eq ""){return} [AppDomain]::CurrentDomain.GetAssemblies() | foreac…

MSHのデバッグ手法(6)

MSH

「Trap」構文を利用して例外処理を実装する場合、通常、Trap対象とする例外クラスの指定が必要です。*1 そのため、スクリプトでエラーが発生した時に、例外クラスの名前がすぐに分かると便利です。 発生した例外クラス名を調べる get-exception.msh param([i…

基本構文(15)

MSH

「Trap」による例外処理 例外処理を行うには「Trap」構文を利用します。Javaで言うと「Catch」です。 例外処理についてJavaと比べると、 「Java」は例外監視範囲を「try」で指定しますが、 「Monad」の場合はスクリプト全体が例外監視範囲になるようです。 …

PropertyGridの活用

MSH

NewsGroupで「PropertyGrid」を使ったサンプルを見つけました。 PropertyGridでオブジェクト解析をしよう! ObjectViewer.msh function ObjectViewer { # 初期処理 [void][System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") # フォ…

記事が100件を超えました

2005年8月末から本日記を書き始めましたが、昨日でようやく記事が100件を超えました。 過去の日記を見返してみる・・・ 見返すと、やはり色々と改善点がありますね。 うまくカテゴリ分けできていない MSHカテゴリを細分化しなければ・・・。 Cmdlet紹介記事…

MSHのデバッグ手法(5)

MSH

MSHのデバッグ手法(4) - PowerShell Memoの続きです。 trace-expression 単一のコマンドラインに対してトレースソースを有効にするには以下の構文を利用します。 To a file trace-expression –name -Options All –Expression { } –file トレース情報をファ…

MSHのデバッグ手法(4)

MSH

Windows "Monad" Shell Beta 2 Documentation Packに含まれる「TracingQuickStart.doc」には、 デバッグ系の情報がまとまっています。 trace-expression trace-expressionは引数として渡したスクリプトについて、 特定のトレースソースを有効にします。例え…

MSHのデバッグ手法(3)

MSH

MSHのデバッグ手法(2) - PowerShell Memoの続きです。 エラー内容を分析する(2) 「System.Management.Automation.ErrorRecord」オブジェクトの 「InvocationInfo」プロパティ 「FullyQualifiedErrorId」プロパティ もエラー内容を把握するのに役に立ちます…

MSHのデバッグ手法(2)

MSH

エラー内容を分析する エラー発生時のオブジェクトを格納する「$error」。 「$error」を調べることでエラー内容を分析することができます。 試しに、意図的に「start-service」でエラーを発生させてみます。 MSH C:\> start-service $servicename start-serv…

S2JavelinとArrowVision近日リリース

S2JavelinとArrowVision。 Seasar2を利用して開発したアプリケーションのデバッグを効率化するツールです。 S2RMI開発者であり先輩の村田さんのブログでも紹介されています。 S2JavelinとArrowVisionを利用すると、ソースコードに全く手を入れずにS2の動作を…

コンソール出力内容をファイルに出力する(start-transcript/stop-transcript)

MSH

「start-transcript」はコンソール出力内容をファイルに出力するCmdletです。 コンソールの内容はリアルタイムにファイルに出力されます。 コンソール>ファイル出力の開始:「start-transcript」 このCmdletは使い甲斐がありそうです。 例えば「start-trans…

jaMSH status update

MSH

リリースは近い? "jaMSH" : Interactive Shell for Monad/MSH - PowerShell Memoで紹介したjaMSHの次バージョンの開発が進んでいるようです。 参照:jaMSH status update 現バージョンで必須コンポーネントであった「The GnuWin32 Readline port」は不要と…