なんか苦戦中

wataru-w2008-01-22


PowerGUI を入れてみました。
バージョンは[PowerGUI Build 1.0.12.248] です。
[PowerGUI] よりも [PowerGUI Script Editor]のほうが役に立ちます。
[PowerGUI]は、そうですね、Windowsを管理したい人にはいいかもしれませんね。


[PowerGUI Script Editor]ではスクリプトを書いてF5を押すと実行できます。
ステップ実行やローカル変数の表示も出来ます。そうそう、インテリセンスも効きます。
ブロックでコメントにしたり、コメントを戻したりもできます。
全体的に、結構良い感じのツールです。シンプルで(笑)
あ〜、でも、SJISのファイルを読み込んでみたら文字化けしました。
UTF-8なら良さそうですが、日本語表示は大丈夫なんだろうか?まだ、試していません。
文字コードをオプションで変更できるといいのですけどねぇ。Beta版だし仕方が無いですね。。。
でも、良い感じで使えますよ。


苦戦中なのはIDEではなく、PowerShellでFunctionを作ったんだけど、
引数が複数で文字列の場合、どうもうまくFunctionに渡らない。
1つだとうまくいくのに???もう少しちゃんと勉強します。。。

⇒これは、 複数引数の指定時に カンマで区切って渡していたからでした。
 スペースで分けて渡せばちゃんと渡りますよ。一番下に記事を書いておきました。


あれれ。。。
「 `n 」ってLFなんですね。「 `r 」はCRだし。「 `r`n 」でやっとCRLFで出力されました。


これは↓負け犬Shell

function DelWord($trgtString)
{
	foreach($n in $input) {$ret = $n -replace $trgtString}
	$ret
}

function RepWord($ARGString)
{
	$trgtString,$repString = $ArgString.Split(",")
	foreach($n in $input) {$ret = $n -replace $trgtString, $repString}
	$ret
}


$a = "<html>pppp</html>" | DelWord("(<html>|</html>)")
$a

$b = "aaa<br>qqq<br>eee" | RepWord("<br>,`r`n")
$b

なんて、↑コードを書いて悩んでいましたが。。。RepWordはまねしないでください。


でも、はじめに考えてた↓こっちのコードの方がPowerShellっぽいですね。。。

$a = "<html><body>pppp</body></html>" -replace "(<html>|</html>|<Body>|</Body>)"
$a

$b = "aaa<br>qqq<br>eee" -replace "<br>", "`r`n"
$b

なんで、Functionを使おうと思ったんだろうか???

おっ、でも、

$b = "が&amp;〜<br>&lt;実は&nbsp;俺&gt;<br>だ&quot;〜" |
 RepWord("<br>,`r`n") | RepWord("&lt;,<") | RepWord("&gt;,>") |
 RepWord("&amp;,&") | RepWord("&quot;,""") | RepWord("&nbsp;, ")
$b

↑こういう風にかけるから綺麗かな???
ハッシュにつんだ方がかっこよさそうですかねぇ。