PowerShell

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
Windowsの次世代シェルスクリプトPowerShell

オフィシャルサイト(ダウンロード、チュートリアル、サンプル等)
http://www.microsoft.com/japan/technet/scriptcenter/hubs/msh.mspx
ヘルプファイル(英語)
http://www.microsoft.com/downloads/details.aspx?FamilyID=3b3f7ce4-43ea-4a21-90cc-966a7fc6c6e8&DisplayLang=en

次世代Windowsシェル「Windows PowerShell」を試す(前編) − @IT
http://www.atmarkit.co.jp/fdotnet/special/powershell01/powershell01_01.html
Windows PowerShell徹底解説
http://itpro.nikkeibp.co.jp/article/COLUMN/20061106/252598/
Googleで検索
http://www.google.co.jp/search?q=powershell&sourceid=navclient-ff&ie=UTF-8&rlz=1B3GGGL_jaJP229JP231

関連スレ
WSH(・∀・)スレッド! Part 2
http://pc11.2ch.net/test/read.cgi/tech/1176698934/
【.cmd】 バッチファイルスクリプト %2 【.bat】
http://pc11.2ch.net/test/read.cgi/tech/1197881068/

Windows板:Windows PowerShell (正式版リリース)1.0
http://pc11.2ch.net/test/read.cgi/win/1163764836/
2デフォルトの名無しさん:2008/01/21(月) 04:25:37
早速ですが質問します
Windows板の方で話題になっていたエディタをCmdletで作ろうとしているのですが
パイプとfilterにも対応できたら(つまり、定期的にフォーム内のテキストボックスに文字列が加わる)面白そうだと思い
BeginProcessing()内でフォームを表示させることにしたのはいいものの
ShowDialog()だとPowerShellの処理が止まってしまい、Show()だとフォームがすぐ閉じてしまいます
どういう風に書けばいいでしょうか?
3デフォルトの名無しさん:2008/01/21(月) 04:28:35
>>2
あなたの上にあるURLへどうぞ
42:2008/01/21(月) 04:38:52
>>3
あ、いえhttp://pc11.2ch.net/test/read.cgi/win/1163764836/500は私なのですが
Cmdlet自体は.NETプログラミングなのでそっちで質問を続けるのもどうかと思い
http://pc11.2ch.net/test/read.cgi/tech/1160209713/に書き込んだ後運良くこのスレを見つけたので、断りを入れて移動してきたところなんです
5デフォルトの名無しさん:2008/01/21(月) 09:51:54
重杉。その時点で糞。
6デフォルトの名無しさん:2008/01/21(月) 10:50:22
whichコマンド書いてみたけどちょっとゴツゴツしてるな字面的に。
まあバッチファイルよりははるかにましだが起動の遅さは確かに気になる。

$cmd = $args[0]
if(!$cmd){
    write "Usage: which COMMAND"
    write "Example: which notepad"
    exit 1
}
$exts = (get-item -path env:pathext).value.split(";")
$paths = (get-item -path env:path).value.split(";")

foreach($p in $paths) {
    foreach($e in $exts) {
        $fn = join-path -path $p -childpath ($cmd + $e)
        if(test-path $fn) {
            write $fn.ToLower()
            exit 0
        }
    }
}
write "$cmd not found"
exit 1
7デフォルトの名無しさん:2008/01/21(月) 15:06:21
>>2
PowerShellよりスレッドを勉強しろ。以上。解決。
82:2008/01/21(月) 19:39:27
>>7
こういうときにスレッド使うんですね、もうちょっと調べてみます
9デフォルトの名無しさん:2008/01/21(月) 19:43:20
名前欄に、 fusianasan って記入して書き込むと、スレッドの使い方のヘルプが出る。
10デフォルトの名無しさん:2008/01/21(月) 21:04:43
〆(°°)カキカキ..勉強になるなぁ
112
報告遅れましたが、スレッド作ってその中でShowDialog()使えば期待した結果になってくれました
Thread.Join()する位置に困っていたんですが、そもそもPowerShellのスレッドとして作成されるからか
別段何かしなくても、明示的に作ったスレッドは一度Thread.Start()してしまえばPowerShell自体を閉じない限り消えないっぽいんですね、面白い
>>8さんありがとうございました