Windows PowerShell (正式版リリース)1.0

このエントリーをはてなブックマークに追加
1名無し~3.EXE
2名無し~3.EXE:2006/11/17(金) 21:30:50 ID:WqoZWo37
2獲ったどー
3名無し~3.EXE:2006/11/17(金) 22:00:12 ID:40CQDzkf
4名無し~3.EXE:2006/11/17(金) 22:24:41 ID:x71SRjyi
パイプでオブジェクトが渡せるって面白いんだよね。
5名無し~3.EXE:2006/11/17(金) 22:34:40 ID:pZW/YIYz
これは超いいね。
6名無し~3.EXE:2006/11/17(金) 22:36:49 ID:kuNnXI5u
Microsoft .NET Framework 2.0上で動作するシェルの一種。次期WindowsリリースであるWindows Vista と
コードネームLonghorn Serverに組み込まれる予定。.NETのランタイム上で.NET Framework、外部プログラム、
ファイルシステムやレジストリや外部システムなどのリソースを高度に統合しているのが特徴。
PowerShell Script、Cmdlet、CmdletProvider? の3つの方法でPowerShell自身を拡張することが可能である。
また、PowerShell はスタンドアロンシェルとしてコマンドラインから起動できるだけではなく、他の.NETアプリケーションから
ホストしてアプリケーション自身を拡張することが可能。
Beta3 リリース まではMSH という名称だったが、RC1 からは PowerShell が正式名称として採用された。

Windows Server 2003 Service Pack 1 および Windows XP Service Pack 2 用の Windows PowerShell 1.0 ローカライズ版インストール パッケージ
http://support.microsoft.com/?kbid=926140
How to get Windows PowerShell 1.0
http://www.microsoft.com/technet/scriptcenter/topics/msh/download.mspx
Scripting with Windows PowerShell
http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx

PowerShell - PukiWiki
http://www.globe.to/~oka326/?PowerShell
FrontPage - PowerShell Wiki (fullmoon)
http://www.canalian.com/wiki/wiki.cgi

PowerShell Scripting - インストールから実行まで
http://www.roy.hi-ho.ne.jp/mutaguchi/powershell/how_to_install.html
7名無し~3.EXE:2006/11/17(金) 22:37:28 ID:kuNnXI5u
次世代Windowsシェル「Windows PowerShell」を試す(前編) − @IT
http://www.atmarkit.co.jp/fdotnet/special/powershell01/powershell01_01.html
Windows PowerShellのパワーの源は.NETオブジェクト − @IT
http://www.atmarkit.co.jp/fdotnet/special/powershell02/powershell02_01.html
Windows PowerShell徹底解説:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20061106/252598/
ITmedia エンタープライズ:コマンドラインが復活、MSアプリ管理はPowerShellが主軸に (1/2)
http://www.itmedia.co.jp/enterprise/articles/0606/06/news008.html
8名無し~3.EXE:2006/11/17(金) 22:38:24 ID:kuNnXI5u
初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc8.2ch.net/test/read.cgi/win/1152544955/409-419
9名無し~3.EXE:2006/11/17(金) 22:43:17 ID:9CamTC7w
すげーなこれ。
UNC パスとか楽勝で事える。もうDOS窓なんかには戻れねーな。
10名無し~3.EXE:2006/11/17(金) 22:56:39 ID:E0PYc13y
日本語メッセージの折り返しが激しく読みにくいわけだが・・・

全角/半角が同じ幅のフォントってどっかないかねw
11名無し~3.EXE:2006/11/17(金) 23:06:21 ID:fmaXuLF3
teraterm内で開くにはどうすればいいですか
別の窓が開いてしまうのがイヤです
12名無し~3.EXE:2006/11/18(土) 01:12:26 ID:YE0+WVO2
独自のドライブ(プロバイダ?)はどうやってつくるの?
13名無し~3.EXE:2006/11/18(土) 07:59:37 ID:JpQfcFts
WSHやらDOS窓やらをこねくり回してやってたことが1つででそうってとこがイイ
しかしceleron700なPCではコンソール開くまでに時間がかかるのが難点
DOS窓みたいにパッっと開けよ。




使いこなすには時間がかかりそうだ or2

14名無し~3.EXE:2006/11/18(土) 08:10:01 ID:dj2zwlKR
PowerShell名前がちょっとカコワルイ気がする。。。
なんか略称で呼ばれるようになるのかな。
15名無し~3.EXE:2006/11/18(土) 08:11:02 ID:OLX52wf8
.NETFramework上で動くので、低スペックPCでパっとってのは無理。
Vistaが主なターゲットだし。
16名無し~3.EXE:2006/11/18(土) 08:12:58 ID:OLX52wf8
>>14
略称PS。旧称MonadShell、MSH。
17名無し~3.EXE:2006/11/18(土) 08:43:42 ID:oMjlSc3F
これはいい。
18名無し~3.EXE:2006/11/18(土) 11:09:45 ID:k8mbS3jP
IMEが使えないのか
19名無し~3.EXE:2006/11/18(土) 11:15:19 ID:KXFU/a4o
Alt + 半角/全角
20名無し~3.EXE:2006/11/18(土) 11:15:39 ID:RSOrcLZu
使えるが。CMD.EXE(NTコマンドプロンプト)だろうと
COMMAND.COM(DOSコマンドプロンプト)だろうと
PSだろうと、半角全角 ではなく Alt+半角全角 だろ。
21名無し~3.EXE:2006/11/18(土) 11:32:15 ID:oKZOGm0J
つーかIME起動は本来ALT必須
Windowアプリ向けのMS-IMEが特殊
22名無し~3.EXE:2006/11/18(土) 11:45:27 ID:RSOrcLZu
んだ。「漢字」が前面、つまりAlt押しだからな。
23名無し~3.EXE:2006/11/18(土) 11:49:49 ID:8z4JydOV
アンインストロールできなくね?
てか、system.management.automation.dllちゃんとインストロールされる?
おれんちだけ?
24名無し~3.EXE:2006/11/18(土) 11:56:14 ID:KXFU/a4o
"プログラムの変更と削除"の、更新プログラムの表示 にチェックいれて
Windows XP -ソフトウェアの更新
の中から探す
25名無し~3.EXE:2006/11/18(土) 12:00:12 ID:mOmVmMuP
linuxオワタ
26名無し~3.EXE:2006/11/18(土) 12:05:40 ID:mOmVmMuP
WSH(・∀・)スレッド!
http://pc8.2ch.net/test/read.cgi/tech/1055075469/

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc8.2ch.net/test/read.cgi/win/1152544955/409-419
27名無し~3.EXE:2006/11/18(土) 12:14:29 ID:k8mbS3jP
>>19-22
すまんかった。
いつの間にか出来たからおかしいなと思ったら、
そういえばすっかり忘れてたよ。
28名無し~3.EXE:2006/11/18(土) 12:15:00 ID:8z4JydOV
>>24
おお!ありがとう!
29名無し~3.EXE:2006/11/18(土) 12:38:39 ID:RSOrcLZu
>>26
お前ら、wsh使ってますか? part6
http://pc8.2ch.net/test/read.cgi/win/1155040873/
30名無し~3.EXE:2006/11/18(土) 12:43:09 ID:RSOrcLZu
>>23
見つからないから気になって探したら
インスコ時にngenでコンパイルされてassemblyにキャッシュされる模様。
31名無し~3.EXE:2006/11/18(土) 12:50:25 ID:YZkzuZKW
たまにこういうとんでもないモノを出すからMSは侮れん
32名無し~3.EXE:2006/11/18(土) 13:11:06 ID:8z4JydOV
>>30
なるほど。そういうことなんですね。。
VisualStudioの参照設定って、dll本体がなくてもできるもんなのですかね?
なかなかできないので、インストーラから無理やりdll抜き出しちゃったよ。。
33名無し~3.EXE:2006/11/18(土) 13:16:44 ID:KXFU/a4o
ls Function:\ したら、
Name Definition
---- --------
D:   Set-Location D:
とかあるな。cd D: せずに D: だけでドライブ移動。怠けすぎ
CMD.exeのcd /D D:\ とくらべると随分短くなったもので。

こんな書き方できるってことは再帰は無しかな。
34名無し~3.EXE:2006/11/18(土) 13:17:34 ID:RSOrcLZu
VS持ってないからわかんない。ていうか何をする気だ…
おもしろい物作ったらクレクレ
35名無し~3.EXE:2006/11/18(土) 13:38:00 ID:8z4JydOV
ちょっと勉強してみようかなぁという程度で、
何作るかなんて考えてないんですが、
何かできたらうpりますねw ありがとうございました!
36名無し~3.EXE:2006/11/18(土) 14:45:11 ID:hJfiMW+c
これってリモートで使用することってできるんですかね?

・PC1上のtelnet等でPC2上のPowerShellにログインして操作を行う
・PC1上のPowerShellでPC2に直接ログインして操作を行う
こんな感じで。
37名無し~3.EXE:2006/11/18(土) 15:26:18 ID:RSOrcLZu
LAN張ってないからわからんけど
telnetしてpowershellと叩けばいいんじゃね?
38名無し~3.EXE:2006/11/18(土) 16:39:03 ID:WFuTvi5H
>>33
cmd.exeはおろかcommand.comの時代からd:でDドライブへ移動でしたが……。
39名無し~3.EXE:2006/11/18(土) 17:18:32 ID:7gO8Z7aq
>>33
> CMD.exeのcd /D D:\
お前凄いな。初めてそんな方法知った。10年前からD:しか知らなかった。
40名無し~3.EXE:2006/11/18(土) 17:27:54 ID:45EmGLrV
>>33
普通はd:で移動するだろ
一応cdのhelpにあるから存在は知ってたが
実際に使ってる奴は初めて見たぜ

ネタが高度すぎて素か釣りか区別できないw
41名無し~3.EXE:2006/11/18(土) 19:31:44 ID:D57onanr
cd d:\ でドライブ移動できるって言いたかったんじゃない?
42名無し~3.EXE:2006/11/18(土) 19:49:45 ID:Bf1c/YRm
使い方の名案とかあったら誰か提案してほしいな。
使えそうなことはわかるんだが、どういう使い方をすると便利なのか思いつかない。
Windowsで強力なコマンドシェルが必要なシーンというのがあんまり思いつかないのだが。
日常的にやってるあんな操作こんな操作が自動化できますよって提案が欲しい。
43名無し~3.EXE:2006/11/18(土) 21:39:53 ID:k8mbS3jP
telnetはヤだからsshも欲しいな。
44名無し~3.EXE:2006/11/19(日) 00:06:45 ID:NHAt43Bp
いいもんが出てきた、とは思うよ。

Windows Serverの自動運用の仕事をしているのだけど、
非力な上にIFやFORといった制御構造が素直に書けないDOSバッチ、
強力ではあるけどFileSystemObjectやら何やら妙に遠回りが多くて生産性の低いWSH、
これらを使っていると、何でWindowsには標準でbashが無いんだろうと思うことがとても多い。
客の要望でフリーウェア使用禁止、
またLinuxの運用も並行してやってるから特にそう感じるんだろうけど……
bashとDOSバッチとWSHで、同じ処理のスクリプトを書いてみれば、
内容にもよるけどたぶん誰でも同じ思いを抱くはず。
PowerShellは、まだ使ってないけど、スクリプトの書式がパッと見UNIXシェルかPerlみたいだもんね。

ただ、早速インストールして起動してみたけど、
いくら何でも遅すぎる……
どなたか高速化の方法がわかったら教えてください。
45名無し~3.EXE:2006/11/19(日) 00:11:54 ID:NHAt43Bp

「フリーウェア」がどうとかとかいった話は語弊があってすまんす。
cygwinとかSFUとかでbash等を入れて使うという道を封じられてるってことです。
46名無し~3.EXE:2006/11/19(日) 01:07:38 ID:KGnti4rO
何でこれが良くてSFUが×なんだ
47名無し~3.EXE:2006/11/19(日) 01:22:56 ID:PgzBf1Qh
全然違うがな。
48名無し~3.EXE:2006/11/19(日) 01:29:53 ID:iGtCmETJ
cmdみたいにフォルダの右クリに登録したいんだが、
フォルダのパスをどう与えたらいい?
49名無し~3.EXE:2006/11/19(日) 02:00:55 ID:04EjsTVV
cmd.exe /c cd /d %1 & %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe
50名無し~3.EXE:2006/11/19(日) 04:01:07 ID:rsy9iMQJ
>>43
ユーザーズガイドをSSHで検索すればいいよ。
51名無し~3.EXE:2006/11/19(日) 05:15:12 ID:iGtCmETJ
>>49
アリ、cmdから起動させるわけか

powershell -nologo -noexit -command "&{set-location -path 〜}"
てな感じで 〜 のとこ考えてたんだ
52名無し~3.EXE:2006/11/19(日) 05:43:19 ID:iFXuwLCv
確かに、とりわけ起動時の遅さはちょっとびっくりするね。
53名無し~3.EXE:2006/11/19(日) 08:42:21 ID:wyLaJ7jb
そのうちIEみたいにWindowsの起動プロセスに含まれるようになるよ・・・
54名無し~3.EXE:2006/11/19(日) 09:26:36 ID:dLRR8nkw
>>53
いつだったかIEとExplorerが統合されたように、PowerShellとcmdが統合されることはあるかもね
でもcmdやPowerShellが起動プロセスに含まれるとは思えんな。そもそもcmdの存在すら知らない人いるし
55名無し~3.EXE:2006/11/19(日) 10:11:28 ID:42f1SThN
起動の遅さは.NETアプリである以上しかたがないな。
56名無し~3.EXE:2006/11/19(日) 10:32:54 ID:F4f0aF0y
致命的な遅さだな
スクリプト化してファイルにすれば済むが
57名無し~3.EXE:2006/11/19(日) 10:38:34 ID:rsy9iMQJ
遅いか? サブマシンとして使っている、Vistaが無理な4年前のノート
(PenIII 1.2GHz 1GB)でも2秒足らずで起動するぞ?
このCUIが重いようなら、Vistaの(XAMLで描かれた)GUIは無理。
58名無し~3.EXE:2006/11/19(日) 11:12:49 ID:/dJeSvx2
2秒は遅いよ。コマンドプロンプトなんて瞬時に起動するよ。
59名無し~3.EXE:2006/11/19(日) 11:39:04 ID:F4f0aF0y
ウィンドウ開くのに0.4秒
copyright表示に0.5秒
コマンド入力可能になるまで13秒
60名無し~3.EXE:2006/11/19(日) 11:46:07 ID:KGnti4rO
>>57
GDI(特にフォント描画)は最新GPUでもRAGE128でも変わらない
VistaのAeroはD3Dが速いほど軽くなる
61名無し~3.EXE:2006/11/19(日) 13:37:46 ID:PgzBf1Qh
>>59
え゛、全部で1秒とかからないが。
62名無し~3.EXE:2006/11/19(日) 13:43:42 ID:DnayJX7H
頭の中でコマンドを考えるのに12秒くらいかかってるんだと思われ
63名無し~3.EXE:2006/11/19(日) 13:59:27 ID:rW0gjy0U
>>59
同じくらい、打てるようになるまでに15秒かかる。
64名無し~3.EXE:2006/11/19(日) 14:01:08 ID:rW0gjy0U
>>57,61
すごい。自分のPCがいかに低スペックかわかるわぁ。
65名無し~3.EXE:2006/11/19(日) 14:20:05 ID:Y/n3E8C9
>>60
いやD3D9によるレンダリングそのものは別にいいのよ。
メインはPen4 3.2GHzHT メモリ2GB GeForce7800GS積んだ
自作機だし(こっちはPSの起動は1秒程度)。
言ってるのは.NETFramework3.0(のWPF)の重さのこと。
ttp://www.windojitsu.com/code/postcard.xaml
これは割とあちこちに貼られているサンプルだけど
ローカルに落としてもPSの比ではなく開幕ディスクがゴリゴリうなる。
スペックは2桁ほど違うはずなのに大昔VRML踏んだ時と体感変わらないくらい。
66名無し~3.EXE:2006/11/19(日) 14:35:38 ID:agNWHFPW
>>49
俺は>>50だとできんかった。
結局、試行錯誤の結果、
cmd.exe /c powershell -nologo -noexit -command "&{set-location -path %1}"
に落ち着いた。
これだとネットワーク上のパスでもカレントにしてできる。
(起動時にcmd経由のためエラーメッセージだけ出るけど)
67名無し~3.EXE:2006/11/19(日) 14:37:40 ID:D+lJKIBw
PowerShellは素晴らしいんだが
これ入れると標準のcmdが文字色黒、背景色白に勝手に変更されて直せないorz
68名無し~3.EXE:2006/11/19(日) 14:41:36 ID:Y/n3E8C9
>>67
ん? CMDのウィンドウ左上クリックのプロパティでいじってもだめ?
69名無し~3.EXE:2006/11/19(日) 15:00:30 ID:Y/n3E8C9
あ、プロパティだとショートカットだ。規定値で。
70名無し~3.EXE:2006/11/19(日) 15:28:39 ID:Y/n3E8C9
>>66
誰がやっても似たようなものになるっぽいね。

ttp://desktopengineer.com/powershell/

ttp://www.hanselman.com/blog/IntroducingPowerShellPromptHere.aspx
こちらはBetaかRCの名残か、INFを見るとPSのパスの親が
windows\system32ではなくprogram filesなので適宜書き換えること。
71名無し~3.EXE:2006/11/19(日) 16:17:08 ID:Y/n3E8C9
これテンプレにあったほうがいいかな。
ttp://www.powershellanalyzer.com/
72名無し~3.EXE:2006/11/19(日) 16:53:40 ID:G1XpqTZI
Windows PowerShell (正式版リリース)1.0
http://pc8.2ch.net/test/read.cgi/tech/1163818863/
73名無し~3.EXE:2006/11/19(日) 18:59:44 ID:DnayJX7H
PowerShellIDEもカッチョイイ。。
http://www.powershell.com/
74名無し~3.EXE:2006/11/19(日) 19:23:05 ID:Y/n3E8C9
うお、かっこいいな。
使いこなせるかどうかは別にして orz
75名無し~3.EXE:2006/11/20(月) 03:55:15 ID:nh8PvepZ
>>69
規定値でも直らんよ orz
76名無し~3.EXE:2006/11/20(月) 06:37:34 ID:/fnavaOb
ttp://www.microsoft.com/technet/scriptcenter/topics/winpsh/payette2.mspx
> with the programmability of scripting languages such as Perl or Ruby.
Pythonが入ってないのはアレか?
つまり1行で制御構文が書けないからか?
技術的にはIronPythonなんかがヒントにはなってるとは思うんだけど。
77名無し~3.EXE:2006/11/20(月) 11:25:37 ID:hmNkkjBc
内部動作はIronPython参考にしてるとは思うけど
構文的には似てないからじゃないかな。
ブレース言語かつ暗黙の $_ があるあたりはPerl譲りだし
内部イテレータやブロックはRuby譲り。
78名無し~3.EXE:2006/11/21(火) 08:10:46 ID:A5KmzRMt
Vista用のPS1.0が来年1/31て…。
79名無し~3.EXE:2006/11/22(水) 00:36:32 ID:Cp2akEhI
eval みたいに文字列を実行するにはどうすればいいですか?
80名無し~3.EXE:2006/11/22(水) 00:43:34 ID:y3Qy1XhK
イベントビューア久しぶりに見たらちょっとむかついた
81名無し~3.EXE:2006/11/22(水) 01:53:55 ID:PU4OUB65
>>79
$a="Get-ChildItem"
&$a
みたいな感じで。
82名無し~3.EXE:2006/11/22(水) 02:14:03 ID:Jmg4Dz2u
ためしてないけど、
Invoke-Expressionじゃだめか? > eval
83名無し~3.EXE:2006/11/22(水) 21:17:34 ID:Cp2akEhI
>>82
サンクス!イケますた!

>>81
それもやってみたんだけど名前のみokでパラメータ付とかはダメみたいなの。
84名無し~3.EXE:2006/11/23(木) 10:03:44 ID:OEVZ8uAx
結局VISTAにも標準ではつかないのかな?
85名無し~3.EXE:2006/11/23(木) 12:36:20 ID:idqFhwcq
86名無し~3.EXE:2006/11/24(金) 01:55:57 ID:i4dzB3XP
2kにはないのか・・・
さすがにそろそろXPにするかなぁ
87名無し~3.EXE:2006/11/24(金) 07:07:21 ID:UyMXHE+8
テキストベースじゃなくて、オブジェクトベースで入出力するっていうアイディアは結構面白い。
GNUとかのお友達が、より広範なプラットフォームで動作するクローン作ってくれるかもね。
Cygwinに組み込まれても面白そうだね。
88名無し~3.EXE:2006/11/24(金) 16:11:56 ID:VGuwVTc1
>86
2kはFramework動かんの?
89名無し~3.EXE:2006/11/24(金) 16:16:17 ID:ITwcsjPW
Framework2.0は動くけど、PowerShellのパッケージがインストールできないんでしょ。
90名無し~3.EXE:2006/11/24(金) 17:25:20 ID:P3V5YLcf
orcaでインストーラのバージョンチェックいじったらインストールできて
そのまま使えたという書き込みがスラドにあった。> 2k
そこまでやる気力は無いかもしれないが。
91名無し~3.EXE:2006/11/28(火) 00:43:15 ID:NojsA+H+
>>90
orcaってのをいれてみていろいろやってみたけど
たんなるexeでインストーラ形式じゃないから?
むりっぽかった。
ふるいのはmsiとかだったの?
92名無し~3.EXE:2006/11/28(火) 01:27:16 ID:wHT7DOZE
いまスラドを確認したらOrcaでいじってインストールできたとの話は
PowerShell RC1の話でした。
いろいろ試させてしまったようで大変申し訳ない。
93名無し~3.EXE:2006/11/28(火) 01:33:22 ID:NojsA+H+
>>92
いやいや、orcaを知ることができただけでもよかったよ。
94名無し~3.EXE:2006/11/28(火) 02:31:18 ID:pSQSZH7s
みなさまありがとうございあmした
ぶじかいけつしました〜♪
95名無し~3.EXE:2006/12/01(金) 14:28:13 ID:lI1d52G4
なるほどなあ。
96名無し~3.EXE:2006/12/07(木) 01:51:48 ID:6XS5nrEF
イベントログにWindows PowerShellってのが出来てるのにきょう気づいた
正直どうなんだろ?つかこんなのアプリケーションログで十分だろ。。。
97名無し~3.EXE:2006/12/07(木) 02:43:51 ID:nfNC6c0f
おまけにそいつだけログサイズの設定が違うので
他と合わせたわ(512kB、7日で上書き)。
ちなみにIE7(Beta?)も単体で存在する。全く使われてないけど。
98名無し~3.EXE:2006/12/09(土) 00:58:46 ID:ETqLEbLj
保守も兼ねて。
微妙な状態かもしれませんが、Win2kで正式版を動かしています。

動かすには手間がかかるのでオススメできなかったり....。

苦茶な導入をすることになりますが、ヒントらしきものを。

配布パッケージをバラしてupdate.exeを実行することになります。
ただし、2回ほどupdate.exeを騙す必要があります。
また、インストールが出来たとしても、
powershell.exe等のバイナリによるOSのバージョンチェックに引っかかります。
(powershell.exeはxp以降で起動するようになってる)
それをなんとかすれば起動できるようになりました。

さらに実行ポリシーをRemoteSignedに落とさないとエラーが出たりしました。
(これは当方の環境だけかもしれません)

99名無し~3.EXE:2006/12/22(金) 23:05:21 ID:Qm6lwLuU
閑古バード鳴いてる?
100名無し~3.EXE:2006/12/23(土) 04:27:45 ID:iSpEpcNa
まぁこれを使わないとダメとかこれを使った方が一段と便利に
という決定的なものがない気がするからなぁ
知らんけど
101名無し~3.EXE:2006/12/23(土) 07:25:04 ID:++hvRHpX
「〜するには」形式のサイトどっかに無いかな
102名無し~3.EXE:2006/12/23(土) 11:03:56 ID:xLtCiPcG
「〜するには」ってのとは違うが
テンプレのnewpops氏のblogはかなりオススメ
ttp://d.hatena.ne.jp/newpops/20061120#p2
とか地味にためになるんじゃないか

どっちかというとプログラマ向けだが
ttp://csharper.blog57.fc2.com/blog-category-31.html

雑誌で特集あるらしい
ttp://blogs.technet.com/stanabe/archive/2006/12/22/windows-server-world-powershell.aspx
103名無し~3.EXE:2006/12/27(水) 19:35:16 ID:ZM588Iss
で、 Out-Host の日本語対応はまだなの?
104名無し~3.EXE:2006/12/28(木) 02:54:33 ID:z9nY4xfc
今度2003鯖のセットアップするんだがどコレ入れときゃやりやすくなるかな。
105名無し~3.EXE:2006/12/28(木) 08:12:52 ID:uXz5iuF+
>>104
その判断を自分で出来ないレベルの奴は、入れても意味無いと思うよ。
106名無し~3.EXE:2007/01/02(火) 17:18:05 ID:XQ/0Tvpv
>>102

FAQが出来てた

PowerShell FAQ
ttp://newpops.wankuma.com/
107名無し~3.EXE:2007/01/14(日) 19:06:47 ID:07Y9sikx
>>106のサイトからコピペ

[void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
$form = new-object system.windows.forms.form
$form.topmost = $true
$button = new-object system.windows.forms.button
$button.Dock = "Fill"
$button.Text = get-date
$button.Add_Click({$button.Text = get-date})
$form.Controls.add($button)
$form.showdialog()


たったこれだけでフォームが表示される。
今までWSHでInputBox表示して
1が入力されたらAの処理、
2が入力されたらBの処理というような感じでやってたけど
これは凄いっす!
スクリプトファイル1つで対話型のアプリケーションが作れるって事?
108名無し~3.EXE:2007/01/14(日) 20:17:25 ID:9C1bxXdP
>>107
そゆこと。
ほかにXAMLなんてものもあるからねえ
C#, C++/CLI, VB, J#など複数のインターフェース言語からひとつの.NET実行イメージを扱える、というコンセプトがあるが、
それをPowerShellやXAMLなどスクリプトからも扱えるようにした、と。
汚染度とサンドボックス化を整理すれば、ローカルにインストールするアプリからJavaScriptが担うようなWebアプリまで
シームレスに扱えるようになるという意図。
109名無し~3.EXE:2007/01/14(日) 20:50:45 ID:07Y9sikx
できたー

[void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
$form = new-object system.windows.forms.form
$form.topmost = $true
$label = new-object system.windows.forms.label
$label.Text = "ラベルだよ"
$label.Dock = "Top"
$check = new-object system.windows.forms.checkbox
$check.Text = "チェックだよ"
$check.Dock = "Top"
$check.Add_Click({$label.Text = $text.Text + " " + $check.Checked})
$text = new-object system.windows.forms.textbox
$text.Text = "テキストだよ"
$text.Dock = "Top"
$form.Controls.add($label)
$form.Controls.add($check)
$form.Controls.add($text)
$form.showdialog()
110名無し~3.EXE:2007/01/16(火) 02:13:41 ID:wkvnOy3k
111名無し~3.EXE:2007/01/16(火) 17:19:35 ID:hoVVS1u3
tail -f
みたいなことできるコマンドありますか?
112名無し~3.EXE:2007/01/25(木) 02:13:14 ID:AM4jNHK3
>>111
ぐぐれば? "tail.exe" "-f"
113名無し~3.EXE:2007/01/25(木) 22:04:14 ID:AM4jNHK3
受信料の支払いをお願いします。
114名無し~3.EXE:2007/01/26(金) 12:47:42 ID:/nQsqZyA
ID:AM4jNHK3 NHK乙
115名無し~3.EXE:2007/01/26(金) 13:05:06 ID:kKPWp/O2
こんなスレにまで日本ひきこもり協会の魔手が……
116名無し~3.EXE:2007/01/26(金) 21:02:59 ID:wuZqHLcs
PCJapanに記事載ってるよ
117名無し~3.EXE:2007/01/28(日) 20:53:55 ID:VAeZ4Zm2
ちょっとメモさせてね


Get-ExecutionPolicy
Set-ExecutionPolicy

Restricted
  実行できるスクリプトはない(デフォルト)
AllSigned
  信頼できる発行元が署名したスクリプトのみ実行
RemoteSigned
  ダウンロードしたスクリプトは信頼できる発行元が署名した場合にのみ実行
Unrestricted
  制限なし


Set-ExecutionPolicy RemoteSigned
118111:2007/01/29(月) 01:05:21 ID:GXfngCAS
>>112
Windowsで使えるtailコマンドを知りたいのではなく、
PowerShellコマンドに標準であるのかを
知りたかったんですが。
119名無し~3.EXE:2007/01/31(水) 11:07:15 ID:HoIZ3ZyM
exe直リンよろ
120名無し~3.EXE:2007/01/31(水) 11:31:28 ID:yAlucuoS
直リンスレでよろ
121名無し~3.EXE:2007/01/31(水) 11:36:02 ID:yAlucuoS
122名無し~3.EXE:2007/01/31(水) 14:18:39 ID:aXfLGffz
でこれって zsh より強いの?
123名無し~3.EXE:2007/01/31(水) 14:23:19 ID:vZsKsnfk
zshの補完機能の強力さには勝てない
124名無し~3.EXE:2007/01/31(水) 14:52:32 ID:yAlucuoS
.NETオブジェクトを扱えないシェルなどいらん。
125名無し~3.EXE:2007/01/31(水) 16:14:10 ID:HoIZ3ZyM
いんすこしたけど、もっさりしてるなー
WSHでおk
126名無し~3.EXE:2007/02/03(土) 23:36:34 ID:Jdp8E2qU
フォントって2種類しか使えないの?XP
127名無し~3.EXE:2007/02/04(日) 01:37:31 ID:soM5zG2M
Windows 2000では使えないんだな
128名無し~3.EXE:2007/02/06(火) 14:51:01 ID:fJ6u8WSS
マニュアルrtfかよw
いまやHTMLじゃなきゃ読みたくない体になっている
129名無し~3.EXE:2007/02/06(火) 17:57:06 ID:UBcK4wn7
ドキュメント配布はxpsにすべきだな
130名無し~3.EXE:2007/02/17(土) 04:10:15 ID:l/aPEhzZ
遅すぎて使い物にならない。
cygwinでおk
131名無し~3.EXE:2007/03/24(土) 20:16:31 ID:gjfJgREL
タブ補完が使えたり便利になってる部分もある。
しかし、XKeamacsがまともに使えなかったり相変わらず不便。
132名無し~3.EXE:2007/03/27(火) 02:37:40 ID:CYQt+2rf
PowerShellってHomePremiumでは使えないんですか?(´・ω・`)
133名無し~3.EXE:2007/03/29(木) 22:50:46 ID:TmhvruC7
F7.....入力履歴一覧表示
134名無し~3.EXE:2007/03/29(木) 22:51:22 ID:TmhvruC7
↑、↓.....履歴表示
135名無し~3.EXE:2007/03/29(木) 22:52:28 ID:TmhvruC7
PageUp..........一番古い履歴
PageDown.....いちばん新しい(最近の)履歴
136名無し~3.EXE:2007/03/29(木) 22:53:24 ID:TmhvruC7
Ctrl + ←
Ctrl + →
カーソルを単語単位で左右に移動

Home
End
カーソルを行頭、行末に移動
137名無し~3.EXE:2007/03/29(木) 22:53:56 ID:TmhvruC7
Esc ...... 行クリア
138名無し~3.EXE:2007/03/29(木) 22:56:34 ID:TmhvruC7
F8 ...... 履歴を検索。数文字打ってF8押すと補完してくれる。
139名無し~3.EXE:2007/03/30(金) 03:30:23 ID:Tt0s4NyT
チラシの裏にでも書いてろ
140名無し~3.EXE:2007/03/30(金) 14:16:57 ID:hzlOrCMy
チラシの裏よりも見られないこのスレならいいだろ
141名無し~3.EXE:2007/04/02(月) 00:42:57 ID:9SbYYD75
PowerShellの解説本が売ってた。
142名無し~3.EXE:2007/04/02(月) 13:23:01 ID:7I3zU6Ep
解説本はあまり良くなさそうだ
ttp://blog.studiohff.net/2007/03/windows_powershell_1.html
143名無し~3.EXE:2007/04/03(火) 08:24:14 ID:Q9IZrX2U
テンプレのnewpops氏の本だから
他人の書評よりまず氏のブログを見て
合う合わないを判断してもいいんじゃね?
144名無し~3.EXE:2007/04/03(火) 09:19:50 ID:2NdhdmuH
http://www.smg.co.jp/books/powershelldeclaration/index.html
だな。
買ったけどなんか聞きたいことある?
知識としては、DOSのバッチファイル / UNIXシェルスクリプトくらいは
読めるのを前提にしてると感じた。

たまにはageとく。
145名無し~3.EXE:2007/04/04(水) 14:31:29 ID:x+5MzxW0
かなりイイけど、
エスケープが"`"だったり、
ファイル名の"["と"]"がワイルドカードになっちまうのがマンドクセ。
146名無し~3.EXE:2007/04/18(水) 18:36:36 ID:jMQDvofa
定番

[void] [Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[Windows.Forms.MessageBox]::Show("Hello, world!")

…って、これならWSHのPopUpメソッド使った方が簡単か。

それにしてもスクリプトの記述方法が本当に特殊で困る。
何かC#とC++とPerlをちゃんぽんにしような感じだし。
147名無し~3.EXE:2007/04/29(日) 04:25:49 ID:urgbN2jo
less みたいのないすか?
148名無し~3.EXE:2007/04/29(日) 12:47:56 ID:YcarhY9e
moreしかない
149名無し~3.EXE:2007/04/29(日) 22:21:41 ID:aIJItvrr
なぜ区切り文字まで補完してくれない
150名無し~3.EXE:2007/05/02(水) 08:21:21 ID:NiwnBAIf
むちゃくちゃ重い
151名無し~3.EXE:2007/05/02(水) 15:32:05 ID:JC7536LP
Power(が必要な)Shellって事か。
152名無し~3.EXE:2007/06/05(火) 23:20:44 ID:m7ZaUNT0
比較演算子に<とか>とかつかいたいでつ。

コマンド辞典とかでないかな・・・
153名無し~3.EXE:2007/06/06(水) 02:54:17 ID:v6dGMGil
これ覚えるよりAHK覚えるほうが実用的だよな
154名無し~3.EXE:2007/06/06(水) 09:03:38 ID:GTGqV/ti
AHKってなに?
AutoHotKey?
155名無し~3.EXE:2007/06/06(水) 18:41:56 ID:L5vJwmDn
テクノロジーとしては面白いんだがエンドユーザにはあんまし関係ないか。
FTPのProviderとか誰か作らないかな。
156名無し~3.EXE:2007/06/06(水) 19:19:17 ID:EuVyxBeJ
標準搭載されたServer2008が広まって(Server2003を上回って)からだろうなぁ。
157名無し~3.EXE:2007/06/09(土) 14:53:14 ID:RUshwDAU
XCOPYってパワーシエルでどうやってやればいいんですか?
158名無し~3.EXE:2007/06/09(土) 15:14:26 ID:0dzOsOq6
cp -recurse
159名無し~3.EXE:2007/06/24(日) 11:09:43 ID:K6mpdkIc
160名無し~3.EXE:2007/06/26(火) 10:30:44 ID:p01GAEfP
なんて言うか、
何もせずにファンそのものが増えての、
オリコン入りなら両手放しで嬉しいが、
大人買いとか、煽ってのオリコン入りは、
正直、あんまり嬉しくない。
逆にちょっと見苦しい気もする。
それに、今、DLコンテンツに移りつつあるし。
そっちのほうでアニメが上に来ないってのは、
やっぱり、まだまだなんだろうなと。
161名無し~3.EXE:2007/06/26(火) 21:11:15 ID:s7ibO4lw
ちょwwwwアニメ版いいかんじで終わったんで深く考えなかたけど、そこまでドロドロしてんのかw

ゲーム版やりたくなったじゃないか 今からならPS2かPCどのバージョンやればいいですかね?
162名無し~3.EXE:2007/06/26(火) 23:55:01 ID:KwyJV6Wt
どこのゴバーク?
163名無し~3.EXE:2007/06/27(水) 01:30:30 ID:nc2Z5w1H
センターウンコに決まってんだろ
164名無し~3.EXE:2007/07/01(日) 11:00:46 ID:KIR+WKNr
pingとかネットワーク系のコマンド無いのこれ?
165名無し~3.EXE:2007/07/01(日) 11:27:34 ID:3BVHfx7o
>>164
exe使えるよ
166名無し~3.EXE:2007/07/01(日) 22:56:46 ID:di1aVF0n
いまいちもりあがらんね。

JP1とか買ってくれない
ビンボー会社でシステム管理やってる
オラには重宝しそうな感じなんだけど。
167名無し~3.EXE:2007/07/06(金) 18:29:25 ID:24W+BNh8
$test = "新新","新現","現行"
$test
$test[0] -lt $rest[1]
$test[1] -lt $rest[2]
$test[0] -lt $rest[2]
$sort = $test|sort $_
$sort
$sort[0] -lt $sort[1]
$sort[1] -lt $sort[2]
$sort[0] -lt $sort[2]
168名無し~3.EXE:2007/07/08(日) 09:28:15 ID:jx/HjY15
ゼウスの負の遺産ほしい?
169名無し~3.EXE:2007/07/24(火) 04:42:32 ID:z4ruRMkX
ps1の関連付けでファイルのドロップできる?
170名無し~3.EXE:2007/07/25(水) 00:50:39 ID:EAIl+hNG
面倒だけど、できる
171名無し~3.EXE:2007/07/31(火) 15:24:16 ID:fkXJ71pN
Win32APIを呼べますか?
172名無し~3.EXE:2007/07/31(火) 17:29:15 ID:vFeV0K/t
DllImport使えるみたいだね
173名無し~3.EXE:2007/08/02(木) 02:07:08 ID:VLUjfdoE
だめだろ
174名無し~3.EXE:2007/08/04(土) 20:42:49 ID:878UiVYL
Power Shellの開発者が書いた本の邦訳が出たみたいね
http://www.sbcr.jp/books/products/detail.asp?sku=4797337362

入門編として使える本が欲しいんだけど、前に出た解説本とどっちが良いだろう
175名無し~3.EXE:2007/08/05(日) 21:03:48 ID:yLBKDWVW
あやしい表紙の絵と翻訳本ってなんか難しそうだけど買ってみるか。
176175:2007/08/06(月) 23:40:34 ID:qAck1Toj
というわけで早速>>174の本を買ってきたが
文中のへんてこなアメリカンジョークがうざいね。
177名無し~3.EXE:2007/08/07(火) 12:39:16 ID:U+OnUtJD
気にするなよHAHAHA-
178名無し~3.EXE:2007/08/07(火) 23:38:51 ID:eCYiNuxe
>>174の本は重量級だな。
まだ途中までしか読んでないけどためになると思うよ。
入門編にはきついかもしれんが。
PowerShell Memoの人の本は手頃だけど、どちらかというとクックブック的なんだよな。
これも入門というには微妙な…。

英語だとこんなにあるんだな
ttp://blogs.msdn.com/powershell/archive/2007/08/03/tower-of-power.aspx
179178:2007/08/07(火) 23:41:38 ID:eCYiNuxe
上のリンクのコメントで宣伝されてたがもう一冊日本語本出るみたい。
ttp://www.shuwasystem.co.jp/cgi-bin/detail.cgi?isbn=978-4-7980-1727-3
これも説明見る限り入門て感じじゃないな…。
180名無し~3.EXE:2007/08/12(日) 02:38:38 ID:PuVcLkX+
新機購入したからインストールしてみたけど起動普通に早いじゃん、一瞬だよ
XPだからSuperFetchが効いてるわけではないし
CPU/Turion64 X2 1.7Ghz MEM/2GB
とりあえず色々遊んでみまつ
181名無し~3.EXE:2007/08/12(日) 16:25:37 ID:mvn3KK/l
ps1ファイルは標準入力が読めないのね。
type a.txt|hoge.ps1
hoge.ps1<a.txt
182名無し~3.EXE:2007/08/16(木) 08:34:58 ID:RjHNuf7P
-?より/?の方が打ちやすいのでパラメータの指定子を変更したいのですが、どうやればできますか?
183名無し~3.EXE:2007/08/16(木) 10:11:14 ID:72QMLbyT
MS-DOSのファンクションコールにそんなのあったな。
- か / を選ぶのが。全く使われていなかったけど。
184名無し~3.EXE:2007/08/16(木) 10:59:23 ID:7yKAVGFu
しかもMS-DOS 5.0から廃止された
185名無し~3.EXE:2007/08/17(金) 09:14:21 ID:AWuVaGAl
-に変わったのは、
/だとパスの区切り(\の代わり)にも使えてややこしいって理由だとどこかで見たので
多分無理。
186名無し~3.EXE:2007/08/17(金) 11:43:24 ID:jP0O8xjY
>>181
こんな感じでおk
#test1.ps1
foreach ($i in $input) {
 $i.trim()
}
#ここまで

PS >> type a.txt | ./test1.ps1
"<"を使おうとするとサポートされてないってエラーになるな。


こういう書き方も出来る。
#test2.ps1
begin {
 "header"
}
process {
 $_.trim()
}
end {
 "footer"
}
#ここまで

PS >> type a.txt | ./test2.ps1
187182:2007/08/17(金) 20:49:45 ID:/9pvVAYt
少なくとも簡単にできるようにはできてない感じですか、残念
188名無し~3.EXE:2007/08/19(日) 11:16:17 ID:g1VQ2jJ6
ttp://www.powergadgets.com/tutorials/powershellTutorial.aspx
なんぞこれwwww
感動したので142と174の本買って勉強することにしたバッチは分かるけどWinformすらろくに触ったことのない俺です
189名無し~3.EXE:2007/08/19(日) 11:24:11 ID:TGPSzK6a
どれがいい?

Windows PowerShell宣言!
Windows PowerShell イン アクション
Windows PowerShell実践スクリプティング―オブジェクト指向と集合指向の統合シェル
190名無し~3.EXE:2007/08/19(日) 16:08:39 ID:RNQd+dN7
宣言:レシピブック
アクション:言語解説。PowerShellを詳しく勉強するならこれかな
実践:おれには合わなかった。著者の主張が強く押し出されてる感じ
191名無し~3.EXE:2007/08/19(日) 18:39:18 ID:JS4GSXSt
実践なんたらって本は文章が生意気だったので買わなかった。
192名無し~3.EXE:2007/08/19(日) 19:25:27 ID:BB9qcPf9
俺も嫌な人間性が見えたから実践はパスした
193名無し~3.EXE:2007/08/19(日) 19:39:31 ID:zbWC7NKf
>>191
3年ぶりに本を書きました。今回初めて、「ですます」調ではなく、「である」調の文体を採用しました。
IT業界を元気付けるために必要と判断いたしました。
拙著を読み返してみると、筆者の考えがストレートに伝わる印象を受けます。
194名無し~3.EXE:2007/08/19(日) 20:57:23 ID:NIhGx04B
ワロス
195名無し~3.EXE:2007/08/19(日) 21:58:54 ID:g1VQ2jJ6
コマンドレットのヘルプ読んでもさっぱりな俺は素直にアクション選んだ方がよさそうですね
196名無し~3.EXE:2007/08/19(日) 23:59:18 ID:vltCM7Kk
Windows PowerShell実践スクリプティングの作者、豊田 孝
こいつの書く本、Webの記事は全て糞
訳本は割とまともだか
197名無し~3.EXE:2007/08/21(火) 23:19:51 ID:X2eSgODx
他PCのイベントログを参照することはできませぬか?
198名無し~3.EXE:2007/08/22(水) 00:37:57 ID:9Vyk1xHv
ほかのウインドウをPowerShellの前にドラッグするとその部分表示されてた文字がボケボケになるのってvistaだと解消される?
コマンドプロンプトでもそうだったからGDIの仕様なのかなと思ってるんだけど
199名無し~3.EXE:2007/08/22(水) 09:12:31 ID:3Fm84JBC
>>198
XPでもそんなの見たことないぞ。
ディスプレイドライバおかしいんじゃね?
200名無し~3.EXE:2007/08/22(水) 12:01:36 ID:9Vyk1xHv
mjdk
自分が試した事のあるPCではどれも再現されるんだけどな…ドラッグする側のアプリにもよるみたいだけど
まあ一度最小化して戻せば直るから別にいいんだけども
201名無し~3.EXE:2007/08/22(水) 14:56:23 ID:9b/jjBw+
Write-Host
Write-Output
どう違うの?
202名無し~3.EXE:2007/08/22(水) 21:46:57 ID:mWYWjoAn
Write-Host >CON
Write-Output 標準出力
203名無し~3.EXE:2007/08/23(木) 03:32:18 ID:vGcOZsXo
インアクション届いたのでレモネード飲みながら読んでるのですが
ざっと見た感じ自作クラスは作れないっぽいですか?
204名無し~3.EXE:2007/08/23(木) 08:00:42 ID:wSyV3Ht/
>>203
PowerShellで扱える型は.NETの型なので、本物のクラスは
C#みたいな.NETアセンブリを作れる言語でないと作れない。
JavaScriptみたいに動的にオブジェクトを作る方法なら8章に書いてある。
205名無し~3.EXE:2007/08/23(木) 20:49:20 ID:IgSO0Yxj
>>204
なるほろ、どうもでした
206名無し~3.EXE:2007/08/24(金) 21:58:24 ID:X7SWBJTM
今日、書店でインアクションを見つけたから読んでみた
分厚くって良い感じだけどやっぱり高いね

さすがに市民図書館には置いてないだろうな > PowerShell
便所において毎日読みたい本だぜ
207名無し~3.EXE:2007/08/25(土) 10:45:46 ID:QQlwsQCh
実行速度はWSHより速い?
208名無し~3.EXE:2007/08/26(日) 21:47:18 ID:qaC0a7A4
遅い
209名無し~3.EXE:2007/08/26(日) 21:55:21 ID:84a94YRe
速いわ。
初回起動は遅いけど。
210名無し~3.EXE:2007/08/26(日) 23:41:35 ID:okLxGB+6
Windows PowerShell実践スクリプティングの作者、豊田 孝

この本の中にコラムが3つあるのだが、内容は基地外みたいだった。

よくもこんな内容の文章が書けたものだ。
立ち読みして確認してみるべし
211名無し~3.EXE:2007/08/27(月) 00:56:01 ID:LLqbYLUU
.net関係だからコールドスタートが遅いな

ドトネトでFizzBuzzしてみたのでチラウラしてみる

[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
# Create
$form1 = New-Object System.Windows.Forms.Form
$Button1 = New-Object System.Windows.Forms.Button
$Listbox1 = New-Object System.Windows.Forms.ListBox


#
# Button1
#
$Button1_onclick = {
$ListBox.Items.Clear()
for($i = 0;$i -lt 100;$i++)
{
$str = $i.ToString()
if (($i % 3) -eq 0) {$str = 'Fizz'}
if (($i % 5) -eq 0) {$str = 'Buzz'}
if (($i % 15) -eq 0) {$str = 'Fizz Buzz'}
$ListBox.Items.Add($str)
}
}
212名無し~3.EXE:2007/08/27(月) 00:58:04 ID:LLqbYLUU
$Button1.Dock = [ SYstem.Windows.Forms.DockStyle]::Top
$Button1.Location = New-Object System.Drawing.Point(0,0)
$Button1.Name = 'Button'
$Button1.Size = New-Object System.Drawing.Size(300,32)
$Button1.Text = 'Button'
$Button1.add_Click($Button1_onclick)

#
# Listbox
#
$Listbox1.Location = New-Object System.Drawing.Point(10,50)
$Listbox1.Dock = [ SYstem.Windows.Forms.DockStyle]::Fill

#
# form
#
$form.Controls.AddRange($Button1)
$form.Controls.AddRange($Listbox1)
$form.Name = 'form'
$form.Text = 'Fizz Buzz'
[System.Windows.Forms.Application]::Run($form)

フォーム使うならC#特急の方が手軽かな?w
213名無し~3.EXE:2007/08/28(火) 18:32:55 ID:+OGtTd0Z
今まで断固拒否してたXPSP2を入れたついでに.NetFramework2.0も入れてPowerShellも入れてみたけど
なんだこの見難いリファレンスは・・
214名無し~3.EXE:2007/08/28(火) 19:54:30 ID:uuZTQ0hp
215名無し~3.EXE:2007/08/28(火) 23:13:57 ID:ByjbHTXw
日本語版は?
216名無し~3.EXE:2007/08/28(火) 23:16:18 ID:uuZTQ0hp
ねーよ
217名無し~3.EXE:2007/08/28(火) 23:28:33 ID:ByjbHTXw
なんだ、使えねーな
218名無し~3.EXE:2007/08/28(火) 23:33:38 ID:5jZDxNsL BE:918648498-DIA(205104)
日本語版ふつうにあるだろw
219名無し~3.EXE:2007/08/28(火) 23:49:31 ID:uuZTQ0hp
chmのことだぞ
220名無し~3.EXE:2007/08/29(水) 00:07:28 ID:kL85cqqn
日本語が欲しければ
Get-Help cmdlet や純正のDOCヘルプを読めばいい
chmはクリックリファレンス程度のものだからそれほど重要ではない

それよりもFTPとSCPとWebDAVのプロバイダ マダー?
221名無し~3.EXE:2007/08/31(金) 02:59:56 ID:LYbUfTLL
へー、Win板数年ぶりに来たけど、
これって面白そうだね。
[]が違和感あるな。Objective-Cみたいだ。
222名無し~3.EXE:2007/08/31(金) 08:16:12 ID:xdlb5CYX
環境変数の使い方を良く忘れる。
$env:〜か。
223名無し~3.EXE:2007/09/01(土) 22:06:46 ID:2xOwetvu
これってやろうと思えばFPSゲームみたいなのも作れたりするの?
224名無し~3.EXE:2007/09/01(土) 22:56:09 ID:VdICq4M2
>>223
詳しく知らないけどAvalonが完成すれば出来るかもしれない
もっとも速度的に難があると思うが
225名無し~3.EXE:2007/09/01(土) 23:27:23 ID:2xOwetvu
>>224
XNAと連携させて3Dゲームが作れるコマンドラインシェル〜とか夢が広がるなぁと思った次第でして
新バージョンで<のサポートもそのうちあるらしいから、ついでにもっと変態シェル目指して欲しい
226名無し~3.EXE:2007/09/02(日) 03:58:29 ID:srsh0qU1
ここで「実践」が内容以前のところで酷評されてるけど、技術書でそんな人間性がどうとかないだろ?とか思って立ち読みしてみた。


OK。最初の数ページ読んだだけだがおまいらに完全同意する。
っていうか、
http://www.amazon.co.jp/dp/4798017272/
の「著者からのコメント」を見るだけで色々ともう駄目だ。
227名無し~3.EXE:2007/09/02(日) 07:59:19 ID:5blgqvAA
どれどれ、と読み始めて
>ソフトウェアを開発することは重労働である
ここまでほうほうと読み進めて
>同じ程度に屈辱に満ちている。
あかん、ここでなんか吹いてしまった
228名無し~3.EXE:2007/09/02(日) 22:39:44 ID:YLhoHGUL
「実践」は著者のページで「はじめに」の部分をダウンロードできる。気になる人はどうぞ
ttp://www.ttoyota.com/bandd/bandd068.php
下のほうにコメントってリンクが2つあるけど、上は自演くさいし(発売日より前に投稿されてる)
下は開発者のブログに自分で本書いたよーって宣伝してるだけ
229名無し~3.EXE:2007/09/03(月) 01:11:00 ID:6QAC2t6x
だろ?なんか書いている奴にむかついて読めないって久しぶりだよ俺w
230名無し~3.EXE:2007/09/03(月) 06:29:49 ID:y2GENxO7
ひねくれ者が多いな。
231名無し~3.EXE:2007/09/03(月) 20:10:36 ID:N0pGJira
こちらスネーク、宣言の入手に成功、状況開始する
232名無し~3.EXE:2007/09/04(火) 02:41:01 ID:pX1wn16I
数時間の格闘の末WPFプログラムを起動できたけど、Aeroみたいな窓枠にはならんのね
いや分かっちゃいたけど
233名無し~3.EXE:2007/09/04(火) 02:55:53 ID:rGxurJKa
>>211のFizzBuzzだが、switchでこんな書き方出来た。

switch(0..99) {
{$_ % 15 -eq 0} {'FizzBuzz'; continue}
{$_ % 3 -eq 0} {'Fizz'; continue}
{$_ % 5 -eq 0} {'Buzz'; continue}
default {$_}
}

たいして短くなるわけでもないが
234名無し~3.EXE:2007/09/04(火) 21:09:37 ID:83+pkydh
こんなことできますか?WSHのときはやり方分からなかった。

全角半角混在のテキストデータを100バイト毎に改行を入れる
※1レコード内の全角文字、半角文字の割合は不定
※全角文字はレコード間をまたぐことはない
235名無し~3.EXE:2007/09/04(火) 21:59:37 ID:R+ebzKav
なんというやぼったいコード…この男は間違いなくプログラミング初心者
#数えにくいので10文字でやってみた。
#ていうか代入楽っすね。
$result=""
$string="Windows PowerShell (正式版リリース)1.0"
for ($i=$j=0;$i -lt $string.Length; $i+=10) {
for (;$j -lt $i+10 -and $j -lt $string.Length; $j++) {
$result+=$string[$j]
}
$result+="`n"
}
write-output $result
236名無し~3.EXE:2007/09/04(火) 22:01:25 ID:R+ebzKav
やーいやーい文字数じゃなくてバイトだよ、俺の馬ー鹿
237名無し~3.EXE:2007/09/04(火) 23:39:37 ID:wUTYeFdm
ネイティブイメージジェネレータとか言うの使うと
起動時間速くなるの?
238名無し~3.EXE:2007/09/05(水) 02:28:57 ID:jIRzhjdo
.NET_R-Tuneで心なし早くなった気はする
でもAnalizerの方は起動しなくなった
239名無し~3.EXE:2007/09/05(水) 19:48:26 ID:GUae9Iw9
ps1スクリプトをコマンドのように実行するのってスクリプト置いたディレクトリにパスと押してないと無理だよね?
240名無し~3.EXE:2007/09/05(水) 20:07:39 ID:GUae9Iw9
と押して→通してorz
241名無し~3.EXE:2007/09/05(水) 23:19:53 ID:GUae9Iw9
バッククォート使ってコマンドにパラメータを複数行にわたって指定するとき
二行目以降ではハイフン入力後のパラメータの補完機能が有効じゃなくなるね、バグなのか仕様なのか
242名無し~3.EXE:2007/09/06(木) 07:44:19 ID:UaSnLpRk
>>234
全角半角とか気にするからにはShiftJISのファイルだよな。
>※全角文字はレコード間をまたぐことはない
ってのは、元データがそうなってるって意味で合ってる?

get-content "input_file.txt" -encoding byte -readcount 10 |
foreach { $_ ; [byte[]](0x0d,0x0a) } |
set-content "output_file.txt" -encoding byte

こんな感じでどうだろう。
文字列にするとUNICODEにされてしまうので、バイナリのまま処理するのが楽だと思った。
243名無し~3.EXE:2007/09/06(木) 08:16:45 ID:slsgsG+h
UTF-8かもしれんぞ
244234:2007/09/06(木) 20:18:01 ID:f/Q0kyzH
おおおおっ!求めていたのはまさにこれです!
ありがとうございました。

> 全角半角とか気にするからにはShiftJISのファイルだよな。
> >※全角文字はレコード間をまたぐことはない
> ってのは、元データがそうなってるって意味で合ってる?

仰るとおりです。1レコードxxバイトと決まってはいますが
漢字項目の空いている部分が半角スペースで埋められていたりしているので
文字数ではなくてバイト数で処理したかったんです。
245名無し~3.EXE:2007/09/08(土) 02:09:54 ID:SVhx2TTh
PowerShell Community Extensionsにlessあるじゃん!
今頃気がついた。
246245:2007/09/11(火) 08:03:44 ID:rZmXxX7S
今更だが補足しておくと
http://www.codeplex.com/PowerShellCX/
を入れるとmoreの代わりにバックスクロールとか可能なlessが使えるようになって超便利
helpのページャーもlessにしてくれる。
他にもいろいろ入ってるみたいだが全然使えてない。

ていうか俺しかいない予感!(AAry
247名無し~3.EXE:2007/09/11(火) 21:15:21 ID:OhfiM79j
アセンブリの中のクラスを表示することってできますか?
248名無し~3.EXE:2007/09/12(水) 01:33:59 ID:0jTlEiY+
Assembly.GetTypes で、アセンブリで定義される型が取得できるので
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.PowerShell.ConsoleHost").GetTypes()
とするだけでいい。

とりあえずGetTypeメソッドとGet-Memberコマンドレット使ってみて、出てきた名前をMSDNで調べるといろいろわかってくるぞ。
249247:2007/09/12(水) 02:04:58 ID:pVb2Weua
>>248
おお、ありがとうございます
System.Windows.Formsの中身が知りたかったんですが、恐ろしい数が出てくる…
250名無し~3.EXE:2007/09/12(水) 21:35:14 ID:0jTlEiY+
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms").GetTypes() | ?{$_.IsPublic}
IsPublicで絞らないと意味ないのがいっぱい出てくるな。
(IsVisibleの方がいいんだろうか?)
251名無し~3.EXE:2007/09/13(木) 00:04:28 ID:aiVBQGjv
MSDN見た方が早いぞ。
VisualStudioExpressにも付いてくる。
252247:2007/09/13(木) 00:19:14 ID:+7RN+Hq/
>>250,251
助言ありがとうございます
(dir).countとかが当たり前にできてしまうキモさに惚れたんですが
アセンブリ関係は素直にC#とか勉強した方がよさそうですね
253名無し~3.EXE:2007/09/14(金) 21:51:27 ID:YexTOm+v
インアクションP43の一行目、「一対の〜問題になります。」の部分が何を言っているのかよく分かりません
どうして一文字を引用符で囲みたい場合に問題になり、それがバッククォートで解決されるんでしょう?
254名無し~3.EXE:2007/09/15(土) 12:45:55 ID:odPVCQZa
これを実行すると
for($i = 1; $i -le 100; $i++){
  Write-Progress "サンプル" "進行状況:" -PercentComplete $i
  Start-Sleep -Milliseconds 80
}
↓こんな状態になるのはどうして?

ササンンププルル
      進進行行状状況況::
           [oooooooooooooooooooooooooooooooooooooooooooooooooo
      ]
255名無し~3.EXE:2007/09/15(土) 16:19:00 ID:aX8xbkBx
全角文字幅を考慮してないんだろ
DOSKEYでもカーソルを戻すとおかしくなるし
256名無し~3.EXE:2007/09/16(日) 19:49:48 ID:5pafyMw3
某スレで前回起動した時の時間を調べて一週間以上空いてたら云々ってあったから
最終アクセスタイムの取得方法調べてたんだけど、恐ろしく簡単に出来るのね
diir|%{$_.LastAcceseTime}
ついでに時間比較に渡す文字列の書式も結構融通利くし、賢いわー

バッチファイルでやってた頃が嘘みたいだ…以上チラ裏
257名無し~3.EXE:2007/09/17(月) 10:35:40 ID:7pDsVEMB
>>253
確かに意味不明だw 訳がおかしいんだと思うが。
要するに一文字だけクオートしたい場合は`使えばいいって事を言いたいんだろう。
258フォルダ参照ダイアログ:2007/09/17(月) 19:14:23 ID:Yw4SdzMT
[Void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
(New-Object System.Windows.Forms.FolderBrowserDialog).ShowDialog()

を実行すると
「新しいフォルダの作成」、「OK」、「キャンセル」ボタンは表示されるけど
ツリー部分が何も表示されない。どうして?
OS:Vista
259名無し~3.EXE:2007/09/17(月) 21:34:24 ID:IvZe2QTg
>>257
'や"を使うと囲おうとしているということを覚えておく必要があるから
単純にトークンを繋げたいなら`の方が楽ですよ、位の意味ですか
`で繋いだだけでは文字列として認識されないのが難ですね
コマンドレットのパス指定…の時もTabで補完しちゃうからあまり使い道が…
260名無し~3.EXE:2007/09/18(火) 13:33:37 ID:AzsrDpAa
>>258
"FolderBrowserDialog 表示されない"で検索すると結構出てくるね
.NET系全般で起こる問題っぽい?
ttp://groups.yahoo.co.jp/group/dotnet-csharp/message/1988
261名無し~3.EXE:2007/09/19(水) 03:53:24 ID:JCKiJNG0
STAThreadだと使えないコンポーネントみたいだな。PowerShellはMTAThreadで実行されちゃうので。
VB.NET経由で無理やりSTAThreadで実行する方法がPowerShell宣言に載ってたが。
262260:2007/09/19(水) 22:39:21 ID:yE+vo/S7
>>261
試しにその方法で実行するスクリプトだけ>>258の二行に差し替えるとあっさり表示できた
でもスクリプトが動作するなら初めからSTAで動作するPowerShellも用意して欲しい悪寒
263261:2007/09/19(水) 23:45:11 ID:JCKiJNG0
今更だが
×STAThreadだと使えない
○STAThreadでないと使えない
ですなorz
せめて標準でSTAで実行できるコマンドレットか何かが欲しいね

今回のフォルダ選択なら
$sh = New-Object -com Shell.Application
$sh.BrowseForFolder(0, "test", 0).Self.Path
でも出来るが。
264258:2007/09/20(木) 00:24:49 ID:YqKZPYh1
とりあえず原因が分かってよかったです。

$sh = New-Object -com Shell.Application
$sh.BrowseForFolder(0, "test", 0).Self.Path

でいくことにします。
265名無し~3.EXE:2007/09/21(金) 07:13:26 ID:YdGwE1NN
2つのDBのコンペア(全テーブル)なんて簡単にできますかね。
266名無し~3.EXE:2007/09/22(土) 11:13:50 ID:b+Z/GBHc
DBはあまり知らないが
.NETからアクセスできるならたいていのことは出来る
267名無し~3.EXE:2007/09/22(土) 20:55:51 ID:1XEqfkQl
こんな記事ならあったけど、正直DB分かりません
http://d.hatena.ne.jp/p-nix/20070622/p1
後はdirとかtypeとかcompare-object使えばいいような気がしないでもない
268名無し~3.EXE:2007/09/26(水) 14:29:57 ID:9PnaSQxb
PowerShell実行環境の条件は、.NET Frameworkのみインストールされてればおk?
それともPowerShellパッケージも必要なのかな
269名無し~3.EXE:2007/09/26(水) 21:03:35 ID:Yy41elTJ
パッケージ必要だと思う。
Server2008にはデフォで入ってるらしいが。
270名無し~3.EXE:2007/09/26(水) 23:10:09 ID:AuE7QIPI
いい記事見つけました
Windowsスクリプティング環境比較:PowerShell vs WSH
http://www.atmarkit.co.jp/fwin2k/operation/pshvswsh/pshvswsh_01.html
271名無し~3.EXE:2007/09/26(水) 23:23:41 ID:AuE7QIPI
WSHは、VBScript、JScript以外にも、Perl、Ruby、Pythonなども動作するらしいけど
WSH+Pythonとかどんな感じなんだろう。
PowerShell、Cygwin+UNIX Shellと総括的に比較してもらいたいものだ。
272名無し~3.EXE:2007/09/28(金) 12:21:49 ID:/WIjBT6S
総合的
273名無し~3.EXE:2007/09/28(金) 16:13:07 ID:vXpAjjSg
しかし2kを除外するとか正気の沙汰とは思えんな
274名無し~3.EXE:2007/09/28(金) 20:15:43 ID:YFQAYidb
Get-Aliasの使いにくさは異常、何故Get-Commandの逆にしてくれないのか…
>>273
面白そうなのでWinRSが欲しいです
275名無し~3.EXE:2007/09/29(土) 15:31:24 ID:7Y8lIIxD
NT除外もひどいよなー
276名無し~3.EXE:2007/09/29(土) 16:32:46 ID:Qzz0VPDC
Meたん除外なんて人間の所業とも思えません><
277名無し~3.EXE:2007/09/29(土) 18:11:51 ID:X6Y/6QKs
<除外もひどい、とマジレス
278名無し~3.EXE:2007/09/30(日) 10:39:07 ID:wHpB9XLQ
WindowsServerWorld 11月号
便利なHTMLヘルプをオリジナルで作る
279名無し~3.EXE:2007/10/01(月) 03:06:07 ID:yrsLntjZ
RECT構造体を使いたいのですが
[Reflection.Assembly]::LoadWithPartialName("WindowsBase")
みたいにやっても型を認識してくれません、どうやればいいんでしょうか?
280名無し~3.EXE:2007/10/01(月) 04:09:07 ID:yrsLntjZ
すみません呆けてましたorz ↑でアセンブリ読み込んだ後、[Rect]でも[WindowsBase.Rectでもなく
MSDNの通り名前空間に指定されてるSystem.Windows+Rectで[System.Windows.Rect]とやればいいんですね

ttp://www.vector.co.jp/soft/winnt/util/se437962.html
これでPowerShellからもWin32APIが間接的に呼び出せるみたいなので
とりあえずGetWindowRectのラップ関数作っているところだったのですがどうもうまく行かないです

function GetWindowRect([Int32] $hWnd, [ref] $WindowSize)
{
$a = New-Object System.Windows.Rect
[Reflection.Assembly]::LoadWithPartialName("WindowsBase").gettypes()|%{if($_.name -eq "rect"){$type=$_}}
$parameterTypes = [Int32], $type.MakeByRefType()
$parameters = $hWnd, $WindowSize
Invoke-Win32 "user32.dll" ([Boolean]) "GetWindowRect" $parameterTypes $hWnd
}

$WindowSize = New-Object System.Windows.Rect
GetWindowRect $hwnd ([ref] $WindowSize)

$WindowSize

System.Windows.Rect型変数は作れるようになったものの、それへの参照型をどうすればいいのか分からず…
上のリンクだとInt32へのそれを[System.Type]::GetType("System.Int32").MakeByRefType() のように指定してるのですが
力業でRECT&にしてみたものの、これじゃだめみたいです
助言お願いします
281名無し~3.EXE:2007/10/01(月) 21:28:12 ID:VjL0WPvV
PowerShellでジャンクションとディレクトリってどうやって見分ければ良いんですか?
282名無し~3.EXE:2007/10/01(月) 22:40:30 ID:ef/nADec
Windows Vista コマンドプロンプト&PowerShell コマンド辞典
http://www.gihyo.co.jp/books/syoseki-contents.php/978-4-7741-3206-8

283280:2007/10/02(火) 21:24:15 ID:PbUo+l5T
あれからいろいろ試していたらできました
$WindowSizeに.Valueを付けなかったり、Invoke-Win32への引数として
$parametersの代わりに$hWndを与えていたこと等の凡ミスと
関数定義の中でforeachで無理矢理取得していたRECT型と
呼び出す側の$WindowSizeの型Rectが違っていることが原因だったようです

さて、頑張ってSizerもどき作ってみよう…
284名無し~3.EXE:2007/10/03(水) 22:34:34 ID:LUVyAygx
Compare-Object。もうちょっと何とかならないの?
行番号も出せないし。まだFCの方が分かりやすかったよ。
285名無し~3.EXE:2007/10/04(木) 13:06:21 ID:DNECbHDQ
無理せずにfc.exeを使えばいいよ

つか標準でfcがFormat-CustomにAliasされていたのはちょっと勘弁してほしかった
286名無し~3.EXE:2007/10/06(土) 07:34:19 ID:pRqcAEjj
>>282
Vista専用なんだよな。
コマンドプロンプトはVista前も載せてくれれば買ったのに。
287名無し~3.EXE:2007/10/06(土) 14:37:11 ID:jJvF3/g8
288名無し~3.EXE:2007/10/07(日) 16:12:11 ID:g9afnBuY
[System.Windows.Forms+NOTIFYICONDATA]のインスタンスを生成する方法はありますか?
289名無し~3.EXE:2007/10/07(日) 16:14:08 ID:g9afnBuY
すみません、[System.Windows.Forms.NativeMethods+NOTIFYICONDATA]の間違いです
C:\WINDOWS\assemblyのアセンブリ全部読み込んでも型がないってエラーが出ます
290名無し~3.EXE:2007/10/21(日) 18:29:18 ID:oHZAl/NZ
diff並の差分表示機能付けろ
291名無し~3.EXE:2007/10/26(金) 21:08:58 ID:8RbmDYKZ
正式公開されたようだから貼っとく
Windowsコマンドシェル「PowerShell」をGUIで管理・実行できる「PowerGUI」
http://www.forest.impress.co.jp/article/2007/10/26/powergui.html

Analyzerの方が好みだけど金要るんだよなぁ…
292名無し~3.EXE:2007/10/30(火) 20:23:28 ID:zQK49SRa
Windows2000で動かしたいです
293powerppy:2007/10/31(水) 22:15:29 ID:WWQkwdaB
powershellでシステムログの監視をしたいのですが、
システムログを取得後、
メールではなく、netsendか他の方法で他のPCへメッセージ送信する
方法はありませんでしょうか?
たいがいの本、ネット情報では、電子メールでという記事が多いので
どなたか教えてください。
294名無し~3.EXE:2007/10/31(水) 22:29:48 ID:UMT8sF/U
>>293
net send /?
295名無し~3.EXE:2007/10/31(水) 22:50:04 ID:xPF592GM
2003のセットアップするときこっそり入れておこうかな
後から入れようとすると承認うるさそうだし
296powerppy:2007/11/01(木) 00:27:18 ID:kILMG1mw
net send でした、すいません。
.netのnetmessagebuffersendとかpowershellでつかえるんでしょうか?
書き方がわからなくて・・・
297名無し~3.EXE:2007/11/01(木) 16:08:56 ID:gkG1jz/9
ふつうにnet.exe使えばいいのではないでしょうか。
PS > net send 〜〜
みたいに。
powershellはexeファイル直接実行できますよ。
それともこれではなんらかの要因で失敗するということでしょうか。
298名無し~3.EXE:2007/11/01(木) 21:06:34 ID:6wSVVoPD
SFUから完全移行したい。
でもdiffが弱すぎて移行出来ない。
299名無し~3.EXE:2007/11/02(金) 14:46:15 ID:E3XJ9z/6
つwindiff
300名無し~3.EXE:2007/11/05(月) 01:26:36 ID:yqnlqEvx
コマンドプロンプト用のdiffはどっかにあるんじゃないか?
301名無し~3.EXE:2007/11/05(月) 03:31:08 ID:lgskxUHc
だから、windiffつかえって
windiff /?
302名無し~3.EXE:2007/11/05(月) 07:36:57 ID:pTes9321
使い方が分からない

Windiff a.txt b.txt -slrdx c.txt

適当にオプション付けてみたけど違う
303名無し~3.EXE:2007/11/05(月) 15:36:17 ID:lgskxUHc
-filrx
304名無し~3.EXE:2007/11/05(月) 21:26:13 ID:WDBUl0G9
Windiff a.txt b.txt -filrx c.txt

にすると画面が出てくる。
Windiff Usage
windiff path1 {path2} {-D}{-O}{-N name}{-s{s}{l}{r}{d}{x} savefile}


f や i なんてオプション無いよ
305名無し~3.EXE:2007/11/06(火) 00:32:49 ID:+zVUig6T
2000やXPのSupport tools\windiff.exeにはあるよ
306名無し~3.EXE:2007/11/06(火) 20:08:44 ID:wASfDof5
307名無し~3.EXE:2007/11/06(火) 20:44:53 ID:3UwONr2D
>>306
キマシタワー、って、使えるのは英語版OS入れてる人だけ?
WS Manager入れろと言われて
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=845289ca-16cc-4c73-8934-dd46b5ed1d33
を探しても32bit版XP用のものがないし、WindowsServer2003-KB936059-x86-JPN.exeを入れようとしても
update\update.exe は有効な Win32 アプリケーションではありません。
と言われてしまう
308名無し~3.EXE:2007/11/06(火) 22:34:30 ID:e3Ue19Ol
正式版まで待つわ
309名無し~3.EXE:2007/11/06(火) 23:00:01 ID:3UwONr2D
RemotingとかBackground Jobsとかいい感じに揃ってきてるな
PowerTabがどうにももっさり何で、Tab補完をインテリセンスっぽくしたってのにも期待
310名無し~3.EXE:2007/11/06(火) 23:06:32 ID:G7zMsXNB
>>305
解決しました。
VS6.0付属のwindiffは古いんですね。
Win2000のサポートツールに入っているのを使ってみたら出来ました。
311名無し~3.EXE:2007/11/06(火) 23:06:39 ID:zK8CGCkF
もうバージョン上げるのか。ろくに普及もしてないのに、コロコロ変えるな。
新版向けに作ったら前のでは動かないし、旧版だと機能足りないし。
もうバージョン管理地獄かよ。

せめてServerCoreにでも入ってるならともかく、、、、ぶつぶつ。




と思ってる管理者は少なくないはずだ。
312名無し~3.EXE:2007/11/06(火) 23:20:10 ID:e3Ue19Ol
.NET2.0→3.0みたいに機能追加じゃね?
いやドキュメント読んでないから知らんけど。
313名無し~3.EXE:2007/11/06(火) 23:24:29 ID:3UwONr2D
1.0が入ってると2.0が入れられないんだそうな
2008に標準で入るのが1.0か2.0かニヨニヨしながら見物ですよ?
314名無し~3.EXE:2007/11/06(火) 23:32:42 ID:e3Ue19Ol
まじかwww
1.0ばらまいた俺涙目www
315名無し~3.EXE:2007/11/06(火) 23:42:01 ID:jG+WbnrR
                /      /,_ュ_>、     \
              /       | ヽ  ン' |        \
               l      ,. 、 -‐l ゚i(○)i!゚ l- 、,,_       ヽ
             \  /      ヽ、`'''゙ ノノ   `'ヽ、    /
                `| __,..   -_‐ ニニニ ‐_- 、 _  l ,.-'゙
                   〈.r '' ´          ` '' -={}
                 /:::!`ァ- 、..,,____,,,.. -、,''゙ソ:::ヘ
              /:::::l ゙ ,.r=  `  ´ ァ=-、 ` l::::_ィ
                  〈ヽ|  '゙  ノ  i  丶       l/,' |
.   , ‐ 、         | 〉!       l            l | リ  見なかったことにしよう
.   ヽ.   ヽ         ヽ`|      l   _         k/
.      ヽ   ヽ       l」   ,    `    ヽ   l-゙
        ヽ.  ',     / ̄〉 ヘ  ' 、ー――一ァ   /
        ',   '、, べ、 l   ヽ   ヽニニニシ   /
        ゙, /  _ ヽ!    lヽ   -―-   /l
.         У_. イ ヽ  〉  _,| ` 、       /  l_
         ノ ´_,. ‐ ヽヽ/;  / ヽ    ; ̄ ̄   ,.イ l
          |       ヽ | Lノ   \_  ヽ  _,.ィ´   L_
        |   `´〉  /  ! l      フー/     / `〈_` ' ‐ 、
        _」    ゝ,l_|  l ヽ     / ̄ ̄ヘ    /    ` ' - 、`tォ、,_
     ,.ィ「|,,.ゝ、    ヽ.  l  ヽ  ∧   ハ   /           `' -、 /ス、
.    /Y゙´   ヽ     l  l  ヽ. / 〉t‐ 〈 ヽ/                 ` - ト、
   /  |      |     | l    `  l |  |                   |  i
316名無し~3.EXE:2007/11/06(火) 23:55:00 ID:3UwONr2D
.Net Framework 3.0 is required to use Graphical PowerShell and Out-GridView.
とあるからSTA絡みのめんどくさい部分が解消されてるといいな

しかし一番気になるのは'<'のサポートの是非、と思ってるユーザーは少なくないはずだ
317名無し~3.EXE:2007/11/07(水) 05:48:01 ID:8181M40n
正式版いつ頃来るんだろ。
導入を待ってたかいがあった。
早く正式版こい。
318名無し~3.EXE:2007/11/07(水) 07:23:02 ID:fSzd0DxR
すごーく先だと思うよ。
CTPはベータじゃねぇ! ってブログにもしつこく書いてある。
319名無し~3.EXE:2007/11/07(水) 22:32:30 ID:EWQYx7Zw
なんだ。がっかり。
320名無し~3.EXE:2007/11/08(木) 00:48:11 ID:TuxW2r02
それでもペイエットなら…ペイエットならきっと何とかしてくれる…
321名無し~3.EXE:2007/11/08(木) 11:10:07 ID:pKGLfM9Z
exitって、コマンドレットにはないし、Get-Commandでも出てこないってことは
コマンドプロンプトの組み込みコマンドなんだろうけど、なんでPSでも有効なんだろう
322名無し~3.EXE:2007/11/08(木) 17:58:16 ID:PbeDAjSm
exitはステートメントだよ。
323名無し~3.EXE:2007/11/08(木) 18:22:26 ID:pKGLfM9Z
>>322
ステートメントは表示されないのか、抜かった
324名無し~3.EXE:2007/11/09(金) 14:20:47 ID:4+JWcisG
WS-Management Version 1.1
http://www.microsoft.com/downloads/details.aspx?FamilyID=845289ca-16cc-4c73-8934-dd46b5ed1d33&DisplayLang=ja

WindowsXP-KB936059-v2-x86-JPN.exeが出たよ
325名無し~3.EXE:2007/11/09(金) 18:22:47 ID:blM070FE
コマンドラインからwindiffの結果をファイルに吐いたやつって行番号付けられないの?
326名無し~3.EXE:2007/11/09(金) 18:37:43 ID:mWYWjoAn
フィルタの練習問題だね
327名無し~3.EXE:2007/11/09(金) 18:42:33 ID:blM070FE
-flrx で差分だけを表示した場合。
328名無し~3.EXE:2007/11/09(金) 18:52:49 ID:p4taEPx6
>>324
今度こそキマシタワーGJ!!!
英語版は既にあったから、今回あわてて追加したんかな
あんなにvistaが羨ましく感じたのはSAPI5.3以来二度目だったぜ
ではさようなら1.0、はじめまして2.0
329名無し~3.EXE:2007/11/09(金) 22:45:49 ID:p4taEPx6
うーむタブ補完機能がどう変わったのか良く分からん…
俺の素敵翻訳脳ではこれってインテリセンスのことかと思ったんだけどなぁ
The TabExpansion function now only shows unique parameters and lists them in sorted order.

とりあえずjaフォルダをコピーするためだけに2.0消して1.0入れてまた2.0入れ直す作業したのは俺だけじゃないと信じたい
330名無し~3.EXE:2007/11/10(土) 08:53:22 ID:b8KQSBq+
ファイルの分割・結合スクリプトが欲しい。
5Gぐらいのファイルがあるとそのまま圧縮出来ない場合(2Gとか4Gとか上限)が多いみたいだから。
331名無し~3.EXE:2007/11/13(火) 03:23:04 ID:+CCawoQE
PowerShellをPowerShellでタスクトレイに閉ってやろうと頑張ってみたけど結局DM2に逃げました
悔しいけどあのアイコンがタスクトレイに納まってる姿はかっこかわいい
本家が対応してくれると一番ありがたいけれど…
332名無し~3.EXE:2007/11/21(水) 20:32:18 ID:PIExXDil
ctrl+u 一行クリア
ctrl+h 一文字クリア
これって出来ないんでしょうか?
333名無し~3.EXE:2007/11/21(水) 20:56:42 ID:MVeVX4/o
334名無し~3.EXE:2007/11/21(水) 21:04:27 ID:Hr3pc+kh
>>332
Ctrl+Hは普通に使えるぞ?
一行クリアはEscで代用するかにとしょーと他、フリーのツールで割り当て変更しる

やってて気付いたが^AみたいにCtrl同時押しでエスケープするキー入力した後
TabやCtrl+I入力するとその部分だけ対応するJISコードに変換されるんだな
ついでにその状態でBackSpaceやCtrl+h入力すると本来のプロンプトより削れる
335名無し~3.EXE:2007/11/23(金) 17:19:24 ID:KbVHch6K
[void][Reflection.Assembly]::LoadWithPartialName("PresentationFramework")
$xaml = [xml]'<Window Width="Auto" Height="Auto" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" />'
$UniformGrid = $xaml.CreateElement("UniformGrid")
$UniformGrid.SetAttribute( "Columns", "10")
[Windows.Media.Colors].GetProperties() | % {
$TextBlock = $xaml.CreateElement("TextBlock")
$TextBlock.SetAttribute( "Name", "textBlock_$($_.Name)" );
$TextBlock.SetAttribute( "Text", $_.Name );
$Button = $xaml.CreateElement("Button")
$Button.SetAttribute( "Name", "button_$($_.Name)" );
$Button.SetAttribute( "Background", $_.Name );
[void]$UniformGrid.AppendChild($Button)
[void]$UniformGrid.AppendChild($TextBlock)
}
[void]$xaml.Window.AppendChild($UniformGrid)
$xaml.Save('xamlsource1.txt')

やっとxmlの作り方分かってきたけど、最下位要素への子要素の追加の仕方とか結構嵌まるね
CreateElement("1")が成功するのはxml的にいいんだろうか?
要素にアクセスしようとしてもどうせエラーになるけどさ
336名無し~3.EXE:2007/11/24(土) 18:53:15 ID:wTMIMvXw
Vista64でWinDiffで「@」の入ったフォルダ同士を比べると結果がおかしい
337名無し~3.EXE:2007/11/27(火) 18:14:51 ID:UY1GN97I
A file can have a SLM version e.g. windiff foo.c@v-3 foo.c
338名無し~3.EXE:2007/11/30(金) 02:25:05 ID:SUtxb5bf
開発チームがサードパーティ製アプリ宣伝してるってことはGraphical PowerShellはあんまやる気無しなんじゃろか
339名無し~3.EXE:2007/11/30(金) 07:38:55 ID:0KwtTs9Q
開発チームの目的はオブジェクトをCUIで幸せに扱うことであって
GUIなんかどうでもいいんでしょ。
340名無し~3.EXE:2007/11/30(金) 10:47:21 ID:rO7RlCb8
あれはGUIっていう・・・のか?いやまあGUIではあるが
341名無し~3.EXE:2007/11/30(金) 11:33:57 ID:NhLfshXM
C#でPowerShellを使ってみる!っていうサンプルプログラムレベルじゃね。
342名無し~3.EXE:2007/12/03(月) 00:10:02 ID:lPvKeBjr
powershellがlogeventを大量に出してるけど何とかならん?
343名無し~3.EXE:2007/12/07(金) 08:52:25 ID:/NFE3Vla
 
344名無し~3.EXE:2007/12/07(金) 22:46:31 ID:zF9xFRwz
Set ie=CreateObject("InternetExploler.Application")

If TypeName(ie)="IWebBrowser2" Then
は、PowerShellではどう書けばよろしいでしょうか?
345名無し~3.EXE:2007/12/08(土) 11:13:06 ID:bJsJirbH
生成は
$ie = New-Object -ComObject InternetExplorer.Application
346名無し~3.EXE:2007/12/11(火) 12:37:58 ID:V0ufe166
プロバイダってLINQ的な思想?
347名無し~3.EXE:2007/12/15(土) 19:53:01 ID:LyrmnH4O
IBM Releases PowerShell Cmdlets to Manage WebSphere MQ
http://blogs.msdn.com/powershell/archive/2007/12/05/ibm-releases-powershell-cmdlets-to-manage-websphere-mq.aspx

何気にすごいことのような気がする
348名無し~3.EXE:2007/12/16(日) 18:02:07 ID:SUcUW5LT
こんな感じで
http://www.microsoft.com/japan/technet/scriptcenter/topics/winpsh/convert/default.mspx
unixのあのコマンドとほぼ同等のことをするにはどうすればいいか分かる資料欲しい
349名無し~3.EXE:2007/12/17(月) 21:14:41 ID:E1UfJO73
とりあえずのその場しのぎでいいなら、そのコマンドをリストアップしてくれれば協力するよ
俺は頼りにならない可能性が高いけど
350名無し~3.EXE:2007/12/18(火) 18:43:38 ID:lkV3wokP
XAMLReaderがあるくらいなんだから、OoxmlReaderやODFReaderもあるといいんだけどなぁってこれは.netの問題か
351名無し~3.EXE:2007/12/23(日) 04:19:16 ID:av4lXdjz
Silverlight 2.0(元1.1)は2000でも配布されるようだが
ということはつまりC#なりIronpythonなりなんなりでPowerShellのSDK使ってエミュレータを作れば
後はHTAと組み合わせて2000上でPowerShellを再現することは可能なのかしら

なんてことをふと思った自分の研究ですらない実験で徹夜中の12月23日彼女なし大学生の夜、というか早朝
352名無し~3.EXE:2007/12/23(日) 13:38:24 ID:SI5Xpc/j
>>351
去年の俺そのままじゃねーかw
就職決まってるならもう少しだから頑張れ
修士行くなら早めに就職口定めとけ
博士行くならご愁傷様

よい年越しを
353名無し~3.EXE:2007/12/24(月) 01:34:33 ID:V0sjS6iq
1.1の環境構築するのめんどくさいなぁ、ってかExpression Blend Expressも出してくれよ
>>352
幸いかどうかは分からないがそのどれでもない稀有な存在であるのは確か
あー眠い、最後のサンプルやってこよう
354名無し~3.EXE:2007/12/24(月) 23:48:51 ID:/D/vLc/V
多分4冊目の日本語PowerShell本
プログラマブルPowerShell ~プログラマのための活用バイブル~
http://www.amazon.co.jp/exec/obidos/ASIN/4774133329/
というわけでだれか特攻よろすく。

オライリーのPowerShell本早く邦訳でないかな
355名無し~3.EXE:2007/12/25(火) 21:51:35 ID:remtQMEP
パワーシェルでADSIつかえる?
356名無し~3.EXE:2007/12/28(金) 11:47:30 ID:Vp7s5u+k
357名無し~3.EXE:2007/12/31(月) 02:05:06 ID:lbRF296b
PowerShellの起動がおっせーなーとか思ってたら
パソコン入れ替えたら速くなった。
358名無し~3.EXE:2007/12/31(月) 02:40:46 ID:OymGYW5D
359名無し~3.EXE:2007/12/31(月) 12:18:23 ID:l/s6gdLf
>>358
気休めどころか劇的に速くなったんだけど、有名なことなの?これ
なんで最初からネイティブイメージキャッシュとやらにインストールされてないの?
360名無し~3.EXE:2007/12/31(月) 14:34:03 ID:VpLmG4xe
俺も横レスだが.netアプリ起動速くなったわ
感謝
361名無し~3.EXE:2007/12/31(月) 14:37:48 ID:DXrkMWve
>>359
いやそれが.NETっすから。
362名無し~3.EXE:2007/12/31(月) 17:18:07 ID:o7M6it9e
monoでコンパイルしたアセンブリは初回起動が遅い。これは当然だから理解できる
そして、VS C# (csc.exe)でコンパイルしたアセンブリは初回起動も普通に早い。
これもまあ理解できる。

でもなんでpsは遅いんだろう?

363名無し~3.EXE:2007/12/31(月) 21:47:55 ID:tGfOG25+
alias Export-Alias, Get-Alias, Import-Alias, New-Alias, Set-Alias
cat Get-Content
cd Set-Location
chmod CACLS.EXE
chown CACLS.EXE
cp Copy-Item
dat Get-Date
diff Compare-Object
echo Write-Output
env Get-Variable
grep Select-String
history Get-History
kill Stop-Process, Stop-Service
ls Get-ClildItem
man man
mkdir mkdir, New-Item
more more
mv Move-Item
ps Get-Process
pwd Get-Location
rm Remove-Item
rmdir Remove-Item
sort Sort-Object
tee Tee-Object
time Measure-Command
unalias Remove-Item
wc Measure-Object
364名無し~3.EXE:2007/12/31(月) 21:49:33 ID:tGfOG25+
【alias】 Export-Alias, Get-Alias, Import-Alias, New-Alias, Set-Alias
【cat】 Get-Content
【cd】 Set-Location
【chmod】 CACLS.EXE
【chown】 CACLS.EXE
【cp】 Copy-Item
【dat】 Get-Date
【diff】 Compare-Object
【echo】 Write-Output
【env】 Get-Variable
【grep】 Select-String
【history】 Get-History
【kill】 Stop-Process, Stop-Service
【ls】 Get-ClildItem
【man】 man
【mkdir】 mkdir, New-Item
【more】 more
【mv】 Move-Item
【ps】 Get-Process
【pwd】 Get-Location
【rm】 Remove-Item
【rmdir】 Remove-Item
【sort】 Sort-Object
【tee】 Tee-Object
【time】 Measure-Command
【unalias】 Remove-Item
【wc】 Measure-Object
365名無し~3.EXE:2007/12/31(月) 22:26:51 ID:4/H5aTuM
newpopsさんところ以外の日本語サイトってあんま有名じゃない?
ttp://csharper.blog57.fc2.com/とかttp://scripting.cocolog-nifty.com/blog/とか
366名無し~3.EXE:2008/01/02(水) 22:01:31 ID:nLr9MWin
ものっそ反応遅いけどver2.0の細かな改良点をまとめたいいページがあった
ttp://keithhill.spaces.live.com/blog/cns!5A8D2641E0963A97!6043.entry
367名無し~3.EXE:2008/01/04(金) 14:10:42 ID:vJn6UC9a
PowerShell純正のエディタ(つまりコマンドレットか関数)って誰か既に作ってたりする?
368名無し~3.EXE:2008/01/04(金) 18:34:28 ID:SwDo3M/g
>>367
エディタって何?edlinのこと?
369名無し~3.EXE:2008/01/04(金) 19:15:06 ID:1SVyzBRK
>>368
edlinって何の事?これって外部プログラムじゃない?

それはそうと
$file = Get-Item file
$file.OpenText()、$file.OpenWrite OpenRead,AppendTextとか色々使えるから
edlinぐらいだったらほんとに簡単に組めるかもな

.netがそのまま使えるのは大きいな、でも大抵C#使ったほうが早(ry
370名無し~3.EXE:2008/01/04(金) 19:18:30 ID:E42vf2Dq
GUIがよけりゃTextBoxにぶちこんで表示すりゃいいだけ
371名無し~3.EXE:2008/01/05(土) 05:17:25 ID:Wf8InwAZ
>>368
出来ればDOSプロンプトのeditコマンド程度の機能は持ってて欲しいけど
作業ファイル作らずに直接dir|sort|notepadみたいなことをしたいと言ってる人を某スレで見かけたんで
まあ面白そうではあるかなと思ったわけ
372名無し~3.EXE:2008/01/05(土) 08:01:31 ID:0XfH1LnF
>>371
>>370の方法ですぐ作れるんじゃない?ワンライナーでもできそう。フォームとテキストボックスとOKボタンとキャンセルボタンでいいんだろ?
373名無し~3.EXE:2008/01/05(土) 10:21:50 ID:Wf8InwAZ
>>372
あー、たしかに
いまいちFormsが使える意義が見出せなかったけど、こういう時は便利だな
374名無し~3.EXE:2008/01/05(土) 15:43:56 ID:ub4z46Ga
Win98以前はなぜか notepad.exe <<<< editだったからなあ
notepadよりjもeditの方が使い勝手いい

あのころはまだ消防だったけど、学校でテキストエディタ使う機会があったからedit使ってた。
他のヤツはMS-word、たまにワードパッド開けてるヤツもいたけどなw
今でも「え〜、テキストエディタ?ワードで済ませちゃうよ」なんて逆の事行ってる人が居るけど、いまだに不思議でたまらん。

ああ、PS、PostScriptの話だったな・・・つい昔話にふけちまって(ry
375名無し~3.EXE:2008/01/05(土) 17:11:53 ID:Wf8InwAZ
普通に人いたんだなここw
しかしコーディングオンリーでフォームをデザインするのはえらいしんどいな
xamlのよさが身に染みるというかなんというか

パイプの中間で呼ばれたときだけ値を返すっていうことできる?
376名無し~3.EXE:2008/01/07(月) 03:15:26 ID:ajz/SGiK
functon numbers([int] $n) {
  $n
  numbers($n + 1)
}

function take([int] $n) {
  foreach($v in $input) {
    if(0 -gt --$n) { return }
    $v
  }
}

numbers 99 | take 2
99
100

みたいなこは出来ないのでしょうか?$inputはイテレータというより内容が決定済みのコンテナ?
377名無し~3.EXE:2008/01/07(月) 03:19:05 ID:ajz/SGiK
s/(?<=なこ)/と/
378名無し~3.EXE:2008/01/07(月) 08:53:48 ID:5Q5FJQeZ
>>376
functionじゃなくfilterを、$inputじゃなく$_を使え。前処理後処理はbeginブロックとendブロックで。
379名無し~3.EXE:2008/01/07(月) 13:24:22 ID:P/IvGHAR
99..199|select -First 2
380名無し~3.EXE:2008/01/07(月) 13:59:56 ID:ajz/SGiK
>>378
filter take([int] $n) {
  if(0 -gt --$n) { exit }
  $_
}

でイケました。サンクスなのであります
381名無し~3.EXE:2008/01/08(火) 01:14:54 ID:snDWQRRk
Microsoftが.NET版Emacsの開発を検討中
ttp://www.itmedia.co.jp/enterprise/articles/0801/07/news030.html

ちょっとwktk
382名無し~3.EXE:2008/01/08(火) 01:42:05 ID:QOhvgeUf
XP Homeじゃ無理なんでしょうか
383名無し~3.EXE:2008/01/08(火) 02:38:35 ID:fC9dLwGw
379では何が不満なんだろう…
>>382
インストールの話か?
.NET2.0とSP2入ってれば問題ないはずだが
384名無し~3.EXE:2008/01/08(火) 05:41:45 ID:GjWHH+Ih
>>381
コード流用はあり得ないだろ常考
385名無し~3.EXE:2008/01/08(火) 10:49:22 ID:OecQdrCi
>>383
>>379 よりもっといい方法↓があるからじゃないか?

99..100
386名無し~3.EXE:2008/01/08(火) 13:08:41 ID:AWHxHa6F
>>385
Select-Objectの使い勝手は強調しときたい次第
387376:2008/01/08(火) 14:45:30 ID:Pf7StnbN
>>383
あのコードはあくまで例で、(99,100) が取りたいわけではなくて
Haskellの無限リストみたいなことがしたかったのですが、伝わりにくくてサーセン

&{while(1) {1}}|select -First 10
では永久に処理が止まらないので目的は達成出来んとです
最初の10オブジェクトを左辺式から得た後即停止して欲しいところなのであります
388名無し~3.EXE:2008/01/08(火) 15:14:14 ID:6/izIVLo
>>387
パイプ経由じゃ無理じゃね?
389名無し~3.EXE:2008/01/08(火) 17:05:23 ID:Wri9kVJz
>>387
PowerShellは再帰呼び出しは100回までに制限されてるからnumbersみたいな関数で無限リスト再現するのは無理だよ
何もexitしなくてもbreakで十分な気がするけど
390名無し~3.EXE:2008/01/08(火) 19:19:05 ID:DOLeEOBc
すみませんが、質問です。

まったく分かっていなくて恐縮なのですが、PowerShellというのはWindows専用
なのでしょうか?Linux上で、MONOを使って動かしたりはできないのでしょうか?
391名無し~3.EXE:2008/01/08(火) 21:42:04 ID:mNBNEbrF
>>390
Linux上でも動くべきだけど
残念ながら動いたと言う話は聞いてない

分かるよその気持ち、同情するよ
でもやっぱり.netの最適な環境を得るためにはwindowsしかないんだよ
392名無し~3.EXE:2008/01/08(火) 21:52:32 ID:6/izIVLo
Linuxのshell環境は十分強力じゃないか?
なんでPowerShell使いたいん?
393名無し~3.EXE:2008/01/09(水) 00:32:03 ID:qXfZFEQv
>>391
PowerShellが動くには.NET Framework 2.0が必要。
だから1.x相当のmonoでは動かなくて当然。
394名無し~3.EXE:2008/01/09(水) 02:23:22 ID:CfQbscSZ
>>387
少なくもPowerShell v1のパイプ評価は左からのEager Evaluationだったような。
コードネームmonadの名を冠するくせに、実はLazy Evaluationの仕組みは無いように見えた。
UNIXのパイプをモダン化しているように見せかけてそこは退化してる。
自分も昔散々調べたんだけど、そういう結論に落ち着いた。
ほんとかどうかは知らんので自分で調べてくれ。
395名無し~3.EXE:2008/01/09(水) 07:59:48 ID:UoK9Nbb/
なんかよく分からんがストリーミングで全部解決する気がする
396名無し~3.EXE:2008/01/09(水) 10:43:42 ID:qXfZFEQv
>>394
具体的に何がしたいのか、何がUNIXでできてPowerShellでできないのか書け。
俺の記憶では、パイプはUNIXの機能ではなくてシェルの機能だったと思うがな。
まず、help about_filter してから書けよ。
397名無し~3.EXE:2008/01/09(水) 12:19:08 ID:IEcd9bGJ
困ったときのインアクション
398390:2008/01/09(水) 20:33:17 ID:Ha5Sf/M5
>>391, >>393
ありがとうございます。残念ですね。
Monoの進歩に期待しましょう。

>>392
確かにUNIXのシェルは便利なのですが、仕組みがいかにも古いので。
PowerShellには未来が感じられるのです。
399名無し~3.EXE:2008/01/09(水) 22:37:49 ID:CiUUOenS
Win以外の環境で1から作り直すなら.NETである必要すらなさそうだが…
PowerShell自体はどうせWin32API使いまくってるだろうし

つーかそろそろ帰っていいすか教授
400名無し~3.EXE:2008/01/09(水) 23:07:07 ID:DIQZ/Z7Z
んー?使ってねぇと思うよ。
まぁ.NetFramework自体が使いまくってるけど。
401名無し~3.EXE:2008/01/10(木) 00:53:51 ID:Belj1RLp
>>354の本が店探してもない件
今度.NETのソース公開するらしいけどAutomation.dllとかも見れるんかなー

ところで遅延評価が話題になるのはコマンドプロンプトからの伝統ですか。
402名無し~3.EXE:2008/01/10(木) 11:15:04 ID:iTIJ6cC6
>>401
tcshやzshなどのよく使われるUNIXのシェルのパイプは、PowerShellと同じく左から右へデータが流れるようになっている。いわゆる遅延評価ではない。

だから、Haskelしか知らない信者の戯言か勘違いか知ったかぶりと聞き流すのがいいよ。
403名無し~3.EXE:2008/01/10(木) 21:26:03 ID:seKsAPZH
>>402
>tcshやzshなどのよく使われるUNIXのシェルのパイプは、
>PowerShellと同じく左から右へデータが流れるようになっている。
>いわゆる遅延評価ではない。

UNIX OSなどが提供するパイプにはバッファサイズがある。
プロセスAがパイプの入力口に何か書き込むと一旦バッファに蓄積され、
プロセスBがパイプの出力口をから読み出すとそのバッファからデータが取り出される。
ここまで基本。

いわゆる遅延評価的な動作は、次のような仕組みで実現されている。

1. パイプの入力口を持っているプロセスが、
  バッファサイズを超えてパイプに書き込もうとするとブロックされる。
  OSはこのとき別のプロセス(≒スレッド)にCPU実行権を移す。
  溜まってるデータがバッファサイズを下回ると再びOSはこのプロセスにCPU実行権を割り当てて
  中断していた書き込みのところから実行が再開される。

2. パイプの出力口を持っているプロセスが、
  バッファが空のパイプから読み込もうとするとブロックされる。
  OSはこのとき別のプロセス(≒スレッド)にCPU実行権を移す。
  バッファになにかデータが溜まると再びOSはこのプロセスにCPU実行権を割り当てて
  中断していた読み取りのところから実行が再開される。
404名無し~3.EXE:2008/01/10(木) 21:29:33 ID:seKsAPZH
(続き)

つまり、
A | B | C | D | E
のようなパイプ構造の、ある瞬間の実行状態は、
- 下流への書き込みで止まっているプロセス: A, B, C
- 上流からの読み取りが終了して下流への書き込もうとしているプロセス: D
- 上流からの読み取りで止まっているプロセス: E
みたいな構造になる。
確かにデータは左から右に流れるけど、プロセスの実行順序はA〜Eの間で激しく行き来する。
これはまあ遅延評価と言っても良いんじゃないかと。

ここまでUNIXのパイプの話。これをPowerShellでどう再現するのかは知らん。
405名無し~3.EXE:2008/01/10(木) 23:58:55 ID:Si1r9Gyy
俺にはただのバッファリングにしか見えない
406名無し~3.EXE:2008/01/11(金) 00:20:50 ID:nHlLD/Gd
Javaの例だけどこの辺の記事も分かりやすい。

「Java BlockingQueueで遊ぶ:パイプラインごっこ」
ttp://d.hatena.ne.jp/m-hiyama/20071214/1197598785

「Java BlockingQueueでもっと遊ぶ:変形パイプラインから圏論へ」
ttp://d.hatena.ne.jp/m-hiyama/20071217/1197876420
407名無し~3.EXE:2008/01/11(金) 06:58:55 ID:u7PYQu7w
うんだからfunctionの代わりにfilter使えばいいんじゃない?
408名無し~3.EXE:2008/01/11(金) 09:16:18 ID:y3Z8C3jm
>>403
それは遅延評価ではなく >>405 の言うとおり単なるバッファリングだな。
Haskell信者のくせに遅延評価の意味も知らんのか。

バッファリングはパワーシェルでも当然やっていることだが、
他のシェルが全バイナリをパイプに流すのに対し、パワーシェルの場合は
コマンドレットや関数のパイプではオブジェクトの参照だけを流すので、
バッファがあふれるという局面自体が少ない。
たとえば、shで100行10000バイトのテキストを渡すとすると、当然10000バイトの
データが次のプロセスに渡る。
しかし、パワーシェルの場合は100行×4バイト=400バイトのデータのみが
次のコマンドレットに渡ることになる。
これは退化ではなく進化だと思うが?w
409名無し~3.EXE:2008/01/11(金) 09:20:22 ID:y3Z8C3jm
加えて、>>407 の言うとおり、functionでなくfilterを使えばデータの流れを各タスク(プロセスやスレッド)で並列処理できる。
filterについて調べてから書くようにな。
410名無し~3.EXE:2008/01/11(金) 10:25:07 ID:JOSlQZTQ
っつーか頭良い奴以外は理屈こねるな、スレの無駄だ。
411名無し~3.EXE:2008/01/11(金) 12:47:00 ID:dJ7eqWWQ
>>408
>しかし、パワーシェルの場合は100行×4バイト=400バイトのデータのみが
>次のコマンドレットに渡ることになる。

パイプライン後段の内容によっては最初の3行しか使わないかもしれないかもしれないのに
必ず100行読み込むとすればそれはただの無駄。
さらに次のCmdletが処理するまでGCヒープからstringが削除できないので、
単にメモリを食ってパフォーマンスを稼いでいるとも言える。
行数に比例して「必要最低メモリ」が増加する。

>>409
>filterを使えばデータの流れを各タスク(プロセスやスレッド)で並列処理できる。
>filterについて調べてから書くようにな。

これは知らんかった。help about_filter しても出てこなかったし。
てことはこっちならJava BlockingQueueみたいなこともできそうだな。
後で調べてみる。これには感謝。
412名無し~3.EXE:2008/01/11(金) 13:05:29 ID:y3Z8C3jm
>411
不要なことがわかっているならそもそもパイプの最初に出力しなければいいだけ。
だからHeskell信者は使えないって言われるんだよ。
たとえばGet-Contentなら-totalCountを使え。
自作のスクリプトならそれに相当するオプションを実装しろ。
つーか、UNIXのパイプとやらで、上流のプロセスが本当に止まるかどうか
実際にやってみてから退化だの進化だの言え。
413名無し~3.EXE:2008/01/11(金) 13:09:31 ID:JOSlQZTQ
勝ち >>ID:y3Z8C3jm
負け >>ID:seKsAPZH=ID:dJ7eqWWQ
414名無し~3.EXE:2008/01/11(金) 15:35:47 ID:HYTmcgkU
遅延評価じゃない、っていうのは違う気がする
目的は何であっても結果として「必要になるまで計算を行わない」が実現されているのだからそれは遅延評価といえる。
つか、バッファってよりキューだろ。

>>412
>不要なことがわかっているならそもそもパイプの最初に出力しなければいいだけ。
既存のプログラムの実装に依存するわけですが
415名無し~3.EXE:2008/01/11(金) 16:17:05 ID:AqKZE9Wr
遅延評価を知らないどころか、バッファもキューも知らないとは。最初から勉強し直せ。キューバッファという言葉をどう説明する気だ?

既存のアプリの実装に依存するのは当たり前。お前の好きなUNIXでもそうなってる。それが遅延評価じゃない証拠だ。

お前が遅延評価だと思ってるのはマルチタスク。全然別の概念。
416名無し~3.EXE:2008/01/11(金) 16:33:35 ID:AqKZE9Wr
パイプラインでは、上流のタスクがデータを流さない限り下流のタスクは処理できない。だからこれは遅延評価ではない。

全てのデータをキャッシュしようが、行毎に逐次評価しようが、上流から下流へのデータの流れは変わらない。単に一度に処理するデータ量が多いか少ないかだけの違いだ。

プロセスの中身がブラックボックスである以上、遅延評価はあり得ない。遅延評価を知らないHaskell信者とか、キューやバッファの意味もわからないプログラマか。はっ。
417名無し~3.EXE:2008/01/11(金) 16:39:28 ID:AqKZE9Wr
とりあえず、ここはパワーシェルのスレだ。遅延評価についての勉強はHaskellのスレでしてこい。「ゆにくすのぱいぷらいんはちえんひょうかですか?」と聞いて笑われて来い。話はそれからだ。
418名無し~3.EXE:2008/01/11(金) 19:16:49 ID:Rb6ATSPx
まあインアクション読めば解決する話だけど、他で分かりやすい日本語資料少ないことだし(ヘルプやMSDNがなんかめんどく感じる駄目な俺)
function <name> (<parameter>) {
begin { ... }
process { ... }
end { ... }
} が完全な関数定義の書き方
begin節で変数の初期化等して、process節で具体的な処理内容、end節で終了処理
明示的にprocess節を指定してfunctionを定義すると特殊変数として$_を使用できる
これはにパイプの上流から流れてくるデータが逐次代入されるので
要するにForeach-Objectの$_と同じ使い方が出来る、はず
そして話題のfilterについては
filter <name> (<parameter>) { ... } は function <name> (<parameter>) { process { ... } } と同義なので、初期化と終了処理要らない関数記述する際には楽

と、本に書いてあることそのまま書いてみましたよっと
419名無し~3.EXE:2008/01/12(土) 06:35:33 ID:KQk8xakC
これってunixのシェルと比較するとどれくらい強力?
cshくらい?
420名無し~3.EXE:2008/01/12(土) 06:57:28 ID:0CXcMw27
シェルと名前はついてるが、UNIXのシェルと比較するのは愚か。
どっかのスクリプト言語とかDSLあたりと比較すべきでは?
421名無し~3.EXE:2008/01/12(土) 07:56:13 ID:3tFFbQbM
>パイプラインでは、上流のタスクがデータを流さない限り下流のタスクは処理できない。だからこれは遅延評価ではない。
見方の違いじゃないの?下流のプログラムから見れば上流から流れてくるデータを待ってるわけだし。
しかもその必要分を決められるのも下流の方。結果として、必要分だけ評価されるんだか遅延評価でいいでしょ。

まぁ上流とか下流とか言ってる時点で論外だけどw
422名無し~3.EXE:2008/01/12(土) 09:28:48 ID:Owgtpbtu
普通の質問ですみません。
"Set-Location c:\"コマンドでカレントディレクトリィー
に行けるのは解ったんですけどフォルダ名の中に半角スペースや全角スペース
がある場合そのフォルダにいけないのですが皆さんはどうしてますか?
何度やっても移動できません。
"Set-Location C:\WINDOWS"などスペースがないフォルダ
場合は普通に移動できます。
423名無し~3.EXE:2008/01/12(土) 09:53:25 ID:6PE8KIUb
>>421
頭の悪い奴と話すのは疲れるなあ。

cat|grep でcatの出力がgrepに影響されるなら遅延評価だ。grepの出力はcatによって変わるが、その逆は無い。従って遅延評価ではない。

見方云々ではなく遅延評価という専門用語だからそれを勉強しろって話。独自の解釈がしたいなら「遅延評価」という言葉を使わず独自の言葉を作れや。紛らわしいから。
424名無し~3.EXE:2008/01/12(土) 09:55:50 ID:6PE8KIUb
>>422
Set-Location 'c:\Pro
まで入力してTABを押して見ろ。
425422:2008/01/12(土) 10:11:16 ID:aDT2+PqY
>>424
有難うございます。解決しました。
426名無し~3.EXE:2008/01/12(土) 10:12:47 ID:3tFFbQbM
>>423
catの出力?影響されるでしょ。grepは全部読むのがデフォなんだろうけど、たとえばcat|head -n X は?
catはheadが必要な分までしか実際は出力しない。バッファに余剰分が溜まりはするけど、ほぼheadが必要とする分だけ出力する。
つまり、不必要な部分の計算は、headの意思を受けて省かれる。これは遅延評価といえる。
427名無し~3.EXE:2008/01/12(土) 10:23:51 ID:e/CAVFvo
>>426
まぢで?catは途中でKillされるのか?
428名無し~3.EXE:2008/01/12(土) 10:28:09 ID:3tFFbQbM
あ、しないwwwやべ俺涙目
こうなるからパイプは遅延評価だ、みたいなサイト見て鵜呑みにしてました。ごめんなさい。
429名無し~3.EXE:2008/01/12(土) 14:54:57 ID:FVegSbOP
>>428
broken pipeで終了するんじゃねーの?
430名無し~3.EXE:2008/01/12(土) 15:01:23 ID:FVegSbOP
>>428
ここの議論とか参考になるかな。
ttp://cygwin.com/ml/cygwin/2005-02/msg00248.html
431名無し~3.EXE:2008/01/12(土) 15:13:22 ID:FVegSbOP
$ yes | head -n 10000 | head -n 1
y
$ echo ${PIPESTATUS[*]}
141 141 0


$ yes | head -n 10000 | head -n 10000
y
y
y
(ry
$ echo ${PIPESTATUS[*]}
141 0 0

確かに遅延評価だね。
432名無し~3.EXE:2008/01/12(土) 15:33:22 ID:HNgI+af7
>>ID:3tFFbQbM

>>410
433名無し~3.EXE:2008/01/12(土) 16:10:29 ID:6PE8KIUb
どうしても遅延評価で止まったと言いたいなら試しにheadでなくtailでやってみろや。
たまたま遅延評価を使わなくても同じことができる特殊な例だろ。普通はそれを異常終了と呼んでんだよ。
434名無し~3.EXE:2008/01/12(土) 20:18:56 ID:nOE4bTiG
多分二つ三つ上の人がそうなんだろうけど、Nの人へ
少なくともv2.0 CTPではThe pipeline has been stopped.ってエラーが無限に出るよ
これはこれで正しいと思う
435名無し~3.EXE:2008/01/12(土) 21:26:11 ID:nOE4bTiG
あ、補足
trap {} を先頭に加えとけばとりあえず望みの結果にはなる
436名無し~3.EXE:2008/01/13(日) 19:29:41 ID:yLeeHxK7
お前らそもそも遅延評価の意味をまったく理解できてないな。
ここはム板じゃないからその事を咎めはしないが
知ったかはやめようぜ。
437名無し~3.EXE:2008/01/13(日) 19:46:02 ID:VfPYTRXR
dirでファイル属性が"d----"になっているものだけ、"-a---"になっているものだけって言う風に取得するのはどうやればいい?
コマンドプロンプトのdirコマンドで言う/Aオプションが欲しいんだけど
dir | ? { $._ -eq "d----" }
ってやるしかないんかしら
438名無し~3.EXE:2008/01/13(日) 19:46:45 ID:VfPYTRXR
間違い、$._じゃなくて$_.Mode
439名無し~3.EXE:2008/01/13(日) 20:39:51 ID:r1FFXdlL
(gi .).GetDirectories()

ゴメンナサイ
440名無し~3.EXE:2008/01/13(日) 22:08:57 ID:VfPYTRXR
>>439
こんな方法もあるのか…いや俺的には全然OKですよ?
441名無し~3.EXE:2008/01/14(月) 14:56:51 ID:fbf5pHdw
これまとまったドキュメントってないの?
FAQs&Tipsだけじゃどうも要領を得ないな・・・
442名無し~3.EXE:2008/01/14(月) 15:08:26 ID:9BJIKVqO
>>441
インストールすればユーザーガイドがついてくる。
443名無し~3.EXE:2008/01/14(月) 20:52:25 ID:NyckvAAd
quadfold.htaがまとまってる
444名無し~3.EXE:2008/01/14(月) 21:06:32 ID:yMWZPJnh
445名無し~3.EXE:2008/01/15(火) 00:11:01 ID:LbJho4Fx
>>443
.rtfか?
446名無し~3.EXE:2008/01/15(火) 02:23:36 ID:ZNaQydW3
rtfのままは使いにくいので、htmlに保存し直してHTAにすると楽
447名無し~3.EXE:2008/01/15(火) 02:26:52 ID:iTok7twm
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=C6EF4735-C7DE-46A2-997A-EA58FDFCBA63
を見ますとVistaHomeBasicには対応していないようですが、
VistaHomeBasicでも問題なくPowerShellを使えますか?
それから、なぜHomeBasicがリストに含まれていないのでしょう。
448名無し~3.EXE:2008/01/15(火) 10:37:44 ID:EuEDNfID
日本語ヘルプが欲しいな。
helpコマンドに全項目再帰的に食わせてリダイレクトすれば一瞬で出来そうな気もするがよーわからんw
449名無し~3.EXE:2008/01/15(火) 20:30:13 ID:1ryjWz55
450名無し~3.EXE:2008/01/16(水) 01:17:33 ID:ehWOZWtp
まだ情報が出そろってないよね。
まだ全然全体を把握してないんだけど、うまく運用している人の例が知れれば
ちょっとは見通しが利くかなという感じなんだけど。
もちろん>>1のブログとかは読んだ。

個人的には多言語との比較してどうか、というところが気になる。
つまり、言語としてのPowerShell。
ぶっちゃけ、VBでWindows関係はいいじゃんと思ってて。

まあ、俺も日々実践して研究してるけど、なにぶんにも実例が出そろわないと
イメージしにくい。
451名無し~3.EXE:2008/01/16(水) 01:18:14 ID:ehWOZWtp
他言語orz
452名無し~3.EXE:2008/01/16(水) 01:28:18 ID:6eczjoz1
言語の機能としてはin action読めばある程度わかるのでは

実運用でいったら出来ることなんて言語の機能よりライブラリ
にかかってるんだから、.NETみてればだいたいわかるじゃん
453名無し~3.EXE:2008/01/16(水) 01:59:26 ID:uM1Nt4DQ
いまだにcmdの方がすらすら書けるのがなんか悔しい
454名無し~3.EXE:2008/01/16(水) 03:44:54 ID:U/1qtUhr
WMIも使えますか?
455名無し~3.EXE:2008/01/16(水) 05:40:47 ID:gju1char
Get-WmiObject
456名無し~3.EXE:2008/01/16(水) 07:30:39 ID:10PT7rV4
これでPowerShellにEdit機能が搭載されてればエディタも必要なくなって最強なんだけどな。
457名無し~3.EXE:2008/01/16(水) 08:59:20 ID:KuePM0+G
何でいまだに窓枠が10年前と同じDOS窓なんだよ・・・
いい加減タブ+まともなWindowsアプリとして作り直せ・・・
458名無し~3.EXE:2008/01/16(水) 09:47:49 ID:U/1qtUhr
BASICでさえスクリーンエディタ付いてたもんな
459名無し~3.EXE:2008/01/16(水) 09:58:51 ID:10PT7rV4
460名無し~3.EXE:2008/01/16(水) 10:17:16 ID:7wYB+wgZ
command prompt multi tabで検索したら
PowerCmdってのを見つけた。
これはいいかもしれない。
Tool-Customize-Appearanceでフォント変えれば日本語の表示も入力も普通に可能。
ただIMEの入力がウィンドウ左上になってしまうのがちょっと見づらいけど。
Trialの機能制限は何だろう?

http://www.powercmd.com/tabbed-command-prompt.php
http://www.powercmd.com/images/PowerCmd_Screenshot.png

ちなみにPoderosaでBash立ち上げてからPowerShell立ち上げると
起動直後に反応がなくなって使い物にならなかった。
461名無し~3.EXE:2008/01/16(水) 11:56:41 ID:GANYt/FG
>>456

>>381がいつどんな完成度で出るかに期待してる。
それまではCygwin上のvim.exeをPowerShellから使うつもり。

462名無し~3.EXE:2008/01/16(水) 12:53:32 ID:6HjRsPGj
>>461
普通のテキストエディタをEmacsキーバインドで使えばいいじゃん。
Emacsを待ってるくせに現状vimって、単なるLinux信者の行動にしか見えん。
463名無し~3.EXE:2008/01/16(水) 12:54:43 ID:9CgMK1fE
カエ(・∀・)レ!
Vim vs Emacs (Editor War)
http://pc11.2ch.net/test/read.cgi/unix/983911547/
464名無し~3.EXE:2008/01/16(水) 13:01:11 ID:72pUpFaL
>>462
現状vimなのはvimのほうがEmacsより慣れてるから。
vimをそのまま使えば設定の労もなくPowerShellの中で使える。
465名無し~3.EXE:2008/01/16(水) 21:07:15 ID:nV5Py7qR
>>457
Ver2で変わるらしい
466名無し~3.EXE:2008/01/16(水) 21:33:56 ID:bcuHO5kN
え、変わるのか・・・俺あの画面が好きなんだけどな
CTPリリースから70日ほど経ったけど、α版はまだかいのぅ
スクリプトコンテストって自作コマンドレットもOKなら応募するんだけどなー、VBSはOKなのに。
こういう時実際の管理者やってる人なんかだと業務のそのまま応募できたりするんじゃろか。
467名無し~3.EXE:2008/01/16(水) 21:38:32 ID:UoazmWP0
9xのDOSプロンプトみたいにツールバーがつくだけだったりして。
468名無し~3.EXE:2008/01/16(水) 21:51:01 ID:nV5Py7qR
469名無し~3.EXE:2008/01/16(水) 22:53:40 ID:u9ouV5wF
>>468
ああなんだGraphical PowerShellのことか
自作コマンドレットで思い出したけど、VS2008用のコマンドレットのテンプレートってある?
470名無し~3.EXE:2008/01/16(水) 23:51:25 ID:LKMb8hYi
takeownコマンドみたいなことするには
Set-ACL使うしかない?
ヘルプ読んだところ、Set-ACLは他のファイルから
ACLをコピーするのが目的っぽいけど。

要するに(フォルダとそのサブフォルダにあるファイルを再帰的に)
ファイルの所有者をadministratorにしたいだけなんだけど。

471名無し~3.EXE:2008/01/17(木) 10:56:36 ID:RC+FihUq
>>470
filter Set-Owner {
param([string]$NewOwner)
if ($_ -is [System.IO.FileInfo]) {
$acl = Get-Acl $_
$acl.SetOwner((New-Object System.Security.Principal.NTAccount $NewOwner))
Set-Acl $_ $acl
}
}

Get-ChildItem . -r | Set-Owner 'Administrator'
472名無し~3.EXE:2008/01/17(木) 15:04:41 ID:h5/72C1R
やっと>>354が届いたぜ…新刊が注文から10日もかかるとは
内容はリファレンスやヘルプ的なものっぽいしハンドブック的な大きさだから常備するのに良さそう
とりあえず前文読んでて驚いたのはPowerShell自身は.NETアプリじゃないってことだった
>>471
なんかこのスレで初めて実用的なスクリプトを見た気がするw

473470:2008/01/17(木) 20:58:54 ID:HtEn5fhC
スクリプトかー。めんどくさいな。>>471でもありがと。
wmiとかでもできそうな気がするけど。
wmi使うならvbsでもいいし。

コマンド一発でできるようになる日は来るかなー。
474名無し~3.EXE:2008/01/17(木) 21:09:42 ID:KWCEmjtY
>>473
%SystemRoot%\system32\WindowsPowerShell\v1.0\か
%USERPROFILE%\WindowsPowerShell\に
profile.ps1って名前でテキストファイル保存して
>>471の2行目から9行目までコピペして貼り付けとけば、いつでもコマンド一発だぞ?

標準コマンドじゃないとって言うなら別だが
475名無し~3.EXE:2008/01/17(木) 21:13:50 ID:AvWt7GY7
ところでモジュール化ってどうやるの?
確か.bashrcみたいなのは合ったと思うんだけどそういうのじゃなくて明示的にファイルを読み込むようなやり方で。
476名無し~3.EXE:2008/01/17(木) 21:23:09 ID:eYrWDqMo
>>354はインアクションを持っていればとくに必要って本でもないけど、
コンパクトだししっかり作られた良い本だと思う。
著者はmsの人。
477名無し~3.EXE:2008/01/17(木) 22:04:24 ID:KWCEmjtY
>>475
スクリプトのドット化のこと?それともコマンドレットのスナップインのこと?
478名無し~3.EXE:2008/01/18(金) 01:06:39 ID:BS21Ovca
そもそも所有者の書き換えなんて仕事が何年に一度あるのか知らないけど、自分でスクリプト(書かない|書けない|使いたくない)のかな?
なら、PowerShellなんて使うのやめて、フリーソフト作者に頼んでexe作って貰うのが良いんじゃない?

つーか、頼むまでもなく、あるよね。既に。
それ使えば?コマンド一発でしょ。
479名無し~3.EXE:2008/01/18(金) 06:39:34 ID:OoNiWISU
>>354
プログラマブルPowerShell ~プログラマのための活用バイブル~
http://www.amazon.co.jp/exec/obidos/ASIN/4774133329/
は確かに良かったけど、持ち運びできるリファレンスという点では>>282
WindowsVistaコマンドプロンプト &PowerShellコマンド辞典: ホーム: 阿久津 良和
http://www.amazon.co.jp/exec/obidos/ASIN/4774132063
のほうが良かった。
だから、中途半端だと言えばそうだし、中庸だと言えばそう、という感じ。
特別>>354じゃないとダメという点は見あたらなかった。

個人的には、インアクションと>>282のコマンド辞典だけあれば十分かな。
480名無し~3.EXE:2008/01/18(金) 07:03:48 ID:6ZutxpRM
>>478
それがあることを知ってるのは>>470の一行目を見れば明らかだろ
それはわかった上で「PowerShellで一発でやる方法はないのか」と
聞いてるんだと思うが
481名無し~3.EXE:2008/01/18(金) 07:08:30 ID:BS21Ovca
だから、一度スクリプト作れば次から一発。
482名無し~3.EXE:2008/01/18(金) 21:31:33 ID:fLCCw/28
>>470
コマンド(2003Serverだけだっけ?)あるのもWMIでもできるを知ってそうなので
あえてPowerShellのコマンド(標準装備されていれば)でやりたいんだろう。


483名無し~3.EXE:2008/01/18(金) 22:03:05 ID:DroQVZbX
コマンドプロンプトからtakeown.exe使うのはOKだけどPowerShellで関数作るのはNGとか
スクリプトをprofile.ps1にコピペするのも面倒だけどvbsで書くのはありとか、正直よく分からん
484名無し~3.EXE:2008/01/18(金) 22:05:02 ID:G87ApKxI
powershell.exe -command "PowerShellで一発だろ?"
485名無し~3.EXE:2008/01/18(金) 22:10:29 ID:f7fDcaiX
あんまり馬鹿を相手にするなよ
486名無し~3.EXE:2008/01/19(土) 00:02:38 ID:dAT5UPcK
.ps1を関連付けしてないので直に実行できないとか?
487名無し~3.EXE:2008/01/19(土) 10:01:11 ID:+Iyk3BCx
使う度に同じスクリプトを書く必要があると思っているに10000点。
488名無し~3.EXE:2008/01/19(土) 10:59:02 ID:7aNnYU+l
takeowmコマンドでオールオーケー

ってかそれぐらい後発のPowerShellで標準で用意しとけよ。
マイクソソフト
489名無し~3.EXE:2008/01/19(土) 13:33:17 ID:+Iyk3BCx
takeownはcmdの標準コマンドじゃないぞ。内部コマンドでもないし必ずインストールされるわけでもない。
cmdでも使えるしPowerShellでも使える。

どうもこの勘違い野郎のズレ加減といい、無意味な執着といい、応用のきかなさといい、日本語の拙さといい、こないだのHaskell信者そっくりだなw
490名無し~3.EXE:2008/01/19(土) 18:33:33 ID:qtm3HDCo
必死にググってその記事を鵜呑みにして間違い指摘されてファビョってるバカなんだからスルーすればいいよ。
今時ググった記事をそのまま信じるとかゆとりすぐる。
491名無し~3.EXE:2008/01/19(土) 20:09:53 ID:pq8/mQNg
他の人も書き込んでたけど・・・

プログラマブル〜って本を俺も読んだが
これドットネット製じゃなかったのか!!

さすが.NET起動が遅いな。とか知ったかこいてたから
びっくりした。

492名無し~3.EXE:2008/01/19(土) 20:42:42 ID:8LkOuphs
>>491
ええ?ホント?
近所の本屋でやっとプログラマブル〜が並んだばかりだkら知らなかった?

プログラマブル〜って3000円出してまでも買う価値ありますか?
493名無し~3.EXE:2008/01/19(土) 20:57:05 ID:ouNcMQRx
本のデザインが気に入ってる
494名無し~3.EXE:2008/01/19(土) 21:02:07 ID:GzKV0//O
>>491
そこ驚きますよね、起動が遅い理由が.NETのアセンブリ読み込んでいるからなのに違いはないんでしょうけど
ところでp17の(Dir *.txt).Countの元ネタは自分(>>247)なのかな、とか自惚れちゃってもいいんでしょうか
>>492
持ち運べるインアクションとしてはいいと思いますよ、2千円くらい安いですし
って、こういう言われ方は不本意かも知れないですけど…
495名無し~3.EXE:2008/01/19(土) 21:45:52 ID:6tjYJ47s
ネィティブなのはPowerShell.exeとかでコマンドレットは.Netだと思うけど。
496名無し~3.EXE:2008/01/20(日) 00:11:23 ID:GsMKdDIx
.NETのコンソールAPIがまだ貧弱なので、
コンソールと対話するHostの部分ははネイティブで作りこんだとしても不思議じゃないね。
runspace以降は完全に.NETだと思う。

http://msdn2.microsoft.com/en-us/library/ms714658.aspx
497名無し~3.EXE:2008/01/20(日) 16:46:58 ID:GdzB4tZv
>>496の意味がよくわからない……
コンソールAPIが貧弱なのが理由だったらなおさら.NETでPowerShell.exe相当の
インターフェース作ったほうがいいと思うけど

前に自分でPSHostからPSHostRawUserInterfaceまで継承して
WinForms.TextBoxベースのコンソール作ってみたけど、遅くて使
い物にならなかった

PoshConsoleも挙動が軽いとはいいがたかったし、単にパフォーマンス
の問題でネイティブアプリにしたんじゃないの > PowerShell.exe
498名無し~3.EXE:2008/01/20(日) 17:09:48 ID:/whP3Oqq
>>497
それじゃコンソールアプリにならないんじゃないの?
499497:2008/01/20(日) 17:50:29 ID:GdzB4tZv
>>498
コンソール自体はコンソールアプリじゃなくてもいいよ
PowerShell.exeだって立派なGUIアプリじゃん

だいたい、コンソール自体がコンソールアプリだったらど
このコンソールで起動するんだってはなしになんじゃん
cmd.exeか?
500名無し~3.EXE:2008/01/20(日) 21:50:58 ID:XJdF2KCG
PowerShellでフォームを表示すると>>107みたいにTopMostをtrueにしても前面に表示されませんが、どうすればできますか?
501名無し~3.EXE:2008/01/20(日) 22:35:46 ID:a6fxzk8j
遅いってことはないけど、コマンドレットの出力を表示する位のことしかできなかったな。
502名無し~3.EXE:2008/01/20(日) 22:50:34 ID:O9LLW8vz
>>500
Ownerを指定してないからだろ。
モーダルなら Form.ShowDialog(IWin32Window) そうでないなら Form.Show(IWin32Window)

http://flamework.net/article/4757038.html
503名無し~3.EXE:2008/01/20(日) 23:30:14 ID:XJdF2KCG
>>502
ありがとうございます、解決できました
504名無し~3.EXE:2008/01/21(月) 10:54:54 ID:W3ctNwnf
http://www.powershell.com/plus/

専用エディタ
IntelliSense機能(オートコンプリート)
アウトライン機能(コードの折りたたみ)
変数、プロパティのインスペクタ機能
デバッグ機能
Snippets管理

が、ノンコマーシャルユースなら無料です。
505名無し~3.EXE:2008/01/21(月) 10:58:51 ID:gm5YZb5c
>>504
国内でこういうの作れるメーカーひとつもないよね、なんでなんだろ・・・。
日本にも優秀なプログラマーは沢山いるって反論レスはいつもあるがどう考えても嘘だろ、開発じゃなくて商社しかないじゃん・・・。
506名無し~3.EXE:2008/01/21(月) 11:05:41 ID:pizSBPys
なぜ唐突に日本批判・・・
技術というよりマーケットがないだけなんじゃ。
IMEやエディタといった商用小物ツールは淘汰されまくりだしな。
507500:2008/01/21(月) 12:57:49 ID:Gh7+xIQu
Cmdletについて質問したかったところに丁度プログラム板でPowerShellのスレ立ったので移動しました
PowerShell
http://pc11.2ch.net/test/read.cgi/tech/1200845013/

この流れだとこの程度の質問忍びないですが…
508名無し~3.EXE:2008/01/21(月) 23:23:24 ID:nfEzKLm2
よーし、じゃあ、俺が>>504相当のものを実装してやろうか

つーか、これみて技術力云々いってるんじゃ確かに
日本のプログラマのレベルは低いって感じだよね
509名無し~3.EXE:2008/01/22(火) 21:41:41 ID:yolmi+wl
ゲームがあるじゃないか
510名無し~3.EXE:2008/01/23(水) 05:10:38 ID:o69JpDlo
>>497

.NET独自でインターフェースつくったら、
Powershellの中でcmd使ったり
逆にcmdの中でpowershell使ったりするのが
手軽にできないでしょう。
ConsoleAPIを使うからシームレスに統合できる。

ただし.NETの標準のConsoleAPIネイティブInteropは貧弱(機能不足)で
独自にP/Invokeしないといけないし、
ガッツリP/Invokeするぐらいならば
いっそネイティブに作っちゃえ、と。そういうことかと。
511名無し~3.EXE:2008/01/23(水) 09:22:36 ID:A9OcRECE
PowerShellで簡単なリネームのコマンド教えてくらはい。
512名無し~3.EXE:2008/01/23(水) 09:48:47 ID:X72PDsJy
cmd ren
513名無し~3.EXE:2008/01/23(水) 12:24:15 ID:6V3G0nKX
mv
514名無し~3.EXE:2008/01/23(水) 18:10:24 ID:Bs73MKi8
cmdのprompt相当の機能ってなんですか。
c:\document and settings
> command
に表示を変えたいです。
515名無し~3.EXE:2008/01/23(水) 18:49:47 ID:Bm0OpQ5/
ls function:\

function prompt
{
 $promptPwd = Get-Location
 @"
  $promptPwd
  >
 "@
}
516名無し~3.EXE:2008/01/23(水) 19:09:53 ID:Bm0OpQ5/
わざわざGet-Locationする必要なかった
function prompt {"$PWD`n>"}
だけでよかった。
ヒア引用符?これは一度使ってみたかった(おい

> command           D:\hogera
ってやってみたかったから
'>'+$PWD.ToString().PadLeft(79)  (ちなみに横幅は80文字)
ってしてみたら失敗したw
517名無し~3.EXE:2008/01/23(水) 19:46:33 ID:mLlFKurW
amazon でインアクション注文したのが届いた
今から読む
518名無し~3.EXE:2008/01/23(水) 20:03:43 ID:raWI+OEg
>>515-516
ありがとうございます。
promptの中で好き勝手にwrite-host呼べるみたいなのでCygwinっぽく色つけてみました。

function prompt{ Write-Host -NoNewLine -ForeGroundColor Yellow "$PWD`n>"; " " }
519名無し~3.EXE:2008/01/23(水) 20:10:28 ID:mLlFKurW
>>514
function prompt { "$((get-date).DayOfWeek)> "}
520名無し~3.EXE:2008/01/23(水) 20:51:01 ID:Bm0OpQ5/
いま
>>518
がいいこと言った
function hoge
{
$a = dir
foreach ($_ in $a)
{
if ($_.Mode -like "d*")
{
$Host.UI.RawUI.ForeGroundColor="Green"
}else
{
$Host.UI.RawUI.ForeGroundColor="Gray"
}
$_
}
}
ってこれぐらい誰でも考えてるか・・・
521名無し~3.EXE:2008/01/23(水) 22:59:13 ID:LTH90kBU
そういえばGraphical PowerShellがWPFでできてるってことは
コンソールの背景に壁紙使ったりwmvを再生したりできるのかな
522名無し~3.EXE:2008/01/24(木) 00:32:10 ID:xi8TGxsX
なんでよ
523名無し~3.EXE:2008/01/24(木) 09:13:49 ID:1vJkIvrQ
重いよこれ。ディスクキャッシュにのってても十分遅い。
マルチコアの恩恵の受けられないシングルタスクの重いアプリの受難の時代だな。
Intelのアホー
524名無し~3.EXE:2008/01/24(木) 17:05:54 ID:u+dnFfvJ
CodeZine:Windows PowerShell 入門
http://codezine.jp/a/article/aid/2067.aspx

今回は簡単な紹介だけ。次回以降に期待す。
525名無し~3.EXE:2008/01/24(木) 23:42:12 ID:IHIwEqj+
>>522
WPF自体はそういう機能含んでるから、そこまでUIいじくれるようになってればできるかなーっていう妄言ですよ?
526名無し~3.EXE:2008/01/24(木) 23:56:53 ID:owqsFQs/
とりあえずOS XのTerminalと同等かよりつぉいコンソールにしてくれれば文句はない。
527名無し~3.EXE:2008/01/25(金) 18:52:03 ID:4LrJznDo
まずはzshを超えるところから始めような
528名無し~3.EXE:2008/01/25(金) 19:04:19 ID:XtEwpGzo
zshなどPowerShellの足元にも及ばんが。
529名無し~3.EXE:2008/01/25(金) 21:18:13 ID:R+uzR3v5
screenが欲しくなるね。
ターミナルも、ラスタフォント縛りは嫌だな。
もっとCUIに注力して欲しい。
周りの環境が整えばpowershellはもっと伸びる子
530名無し~3.EXE:2008/01/25(金) 21:32:39 ID:ppPyyI9C
世界最強シェルPowerShellの次に優秀なのって何?
531名無し~3.EXE:2008/01/26(土) 01:52:25 ID:Nplc+JJ2
PowerShellって多機能にしたせいで
何か使い難い。今まで馬鹿にしてたがUNIXのshellって凄いんだなぁと
初めて思った。
532名無し~3.EXE:2008/01/26(土) 04:33:09 ID:0EEyeCki
PowerShellのリファレンスサイトない?
HTMLリファレンスサイトみたいになの。
無いなら誰かエロい人が作ってよ、頭の良い人はその才能を使うべき。
大いなる力は大いなる責任を伴う、なーんつって( ^ω^)…
533名無し~3.EXE:2008/01/26(土) 08:59:01 ID:FASExUPa
てかヘルプ内蔵する為のドキュメント書いておきながら
それをリファレンスにまとめないとかまったく意味不明だな。
534名無し~3.EXE:2008/01/26(土) 09:03:03 ID:r7GwYUox
ヘルプ内蔵してるから不要だ、エッヘン
と開発者が申してます
535名無し~3.EXE:2008/01/26(土) 09:12:08 ID:Y31oknLs
>>532
>>278にPowerShellのヘルプをHTMLに落とすスクリプトが載ってる
図書館で借りるかバックナンバーを注文するべし
536名無し~3.EXE:2008/01/26(土) 09:24:53 ID:FASExUPa
うp
537名無し~3.EXE:2008/01/26(土) 10:25:33 ID:Y31oknLs
538名無し~3.EXE:2008/01/26(土) 10:28:36 ID:yUFusMMp
冗談だろ?テキストが与えられてるのに、それを使ってヘルプを自分で作れない開発者なんかいないよな?
ヘルプ作成は開発者の必須スキルだぜ?
つーか、ヘルプでないといけない理由がわからん。
テキストなんだから、検索したいならgrepかければいいじゃん。
539名無し~3.EXE:2008/01/26(土) 12:56:49 ID:cTSfnbrA
powershellを使いたいのは開発者だけじゃないだろう。
540名無し~3.EXE:2008/01/26(土) 14:26:38 ID:PZvVaVfU
>>537
ありがとう!
541名無し~3.EXE:2008/01/26(土) 17:03:46 ID:4Fd2wOgZ
&"C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\TlbImp.exe" "$env:SystemRoot\system32\wmp.dll" "/out:WMPLib.dll"
[void][System.Reflection.Assembly]::LoadFrom("WMPLib.dll")
$wmp = new-object WMPLib.WindowsMediaPlayerClass
$wmp.URL = "MyPlaylist.m3u"

こいつは凶悪だ・・・
542名無し~3.EXE:2008/01/26(土) 20:13:19 ID:biMuG5k3
>>537
ブラウザから説明がはみ出すから<pre>タグ取っ払ったら見やすくなった。
$hostとかの説明はMSDNに統合されないと無理なんだろうな。
543名無し~3.EXE:2008/01/26(土) 22:30:36 ID:ZEosjTfD
PowerShell入れたら(かどうかはよくわからないがほぼ同時期に)
Cygwinでエスケープシーケンスが処理できなくなった・・・
これ直す方法ないのかな。
544名無し~3.EXE:2008/01/27(日) 20:33:00 ID:caNpqeRt
>>541
何の事かと思って試してみたが、確かに凄いね。
でも、メモリ食いすぎだろこれ。GUIなしなのにこの重さじゃ
何のためにshellでやるのかよく分からん。
545名無し~3.EXE:2008/01/27(日) 21:22:41 ID:Ilac6gNx
>>544
いやもう最初試したときは頭から尾っぽまで当たり前のように実行可能なところに感動したよ
6MBのmp3再生時にPSのメモリ消費が31MB→45MBだったからそんなでもないように思うけど,
RealPlayer大好きな俺の感覚が麻痺してるのかなw
メリットなんてシェルで演奏できるって部分でだけ十分さ…
あまりに反応薄いから逆に不安になったくらい(まあ目立つのはそこだけなんだけど)
546名無し~3.EXE:2008/01/27(日) 21:41:22 ID:caNpqeRt
>>545
実際問題比較対象になるのはshellで実行可能な
音声再生方法じゃなないのかな?
もしunixな考え方でやるなら単純な.exeを実行して繋ぐから
実際に起きた事はmpg123.exe -listであれ?って程単純に、軽く出来る。
MSだけじゃないけどソフトな人は内部に拘りすぎて
ハードに近い考えならブラックボックステストで完全に失敗している
何時も何かをするための何かになりすぎて
結局新しいものを生み出せない状態に陥ってる、これでは評価されない。
547名無し~3.EXE:2008/01/27(日) 23:20:11 ID:Ilac6gNx
>>546
う〜ん、UI作るのはめんdじゃなかった作るとシームレスにそのまま他のコマンド入力できるっていう
多分GUIレスプレイヤーとしてのほぼ唯一の利点が。・・・・・・うん、後付なんだ、すまない。
俺の伝えたかったのはまさにPSのプロセスで演奏してるっていう部分だから
後まあ以前から.NET使ってる人には常識なんだろうけどTlbImp&LoadFromの組み合わせも
548名無し~3.EXE:2008/01/28(月) 00:16:59 ID:zZR+pqH9
音楽再生入った何か作るには役に立ちそうだけど。
元々dllは普通なら利用出来るし、難しいと言うなら
スクリプトでやるとか、スクリプトならshell風にも
しかもPS重い。重いのは.NETせいで濡れ衣かもしれないが

個人的には.NETを何であんなに糞重いものにしたのかとか
その辺にまず疑問がある。

549名無し~3.EXE:2008/01/28(月) 01:10:28 ID:jhJG4LDA
10年後のPCではサクサク動きます、きっと。
550名無し~3.EXE:2008/01/28(月) 02:21:04 ID:UKa6wxu0
Javaは昔そう言われてたけど今でも(ry
551名無し~3.EXE:2008/01/28(月) 06:20:11 ID:zZR+pqH9
Emacsも同じ事を言ってるけど今でも重いね。
まあ、軽いバージョンもあるけど。
552名無し~3.EXE:2008/01/28(月) 11:32:31 ID:6IF7vIww
つ「冷蔵庫の法則」
553名無し~3.EXE:2008/01/29(火) 01:20:48 ID:nHG84DPE
>>548,549
ngen でネイティブイメージ作ったら一瞬で上がるようになったよ。
554553:2008/01/29(火) 01:22:09 ID:nHG84DPE
確か上の方にスクリプトがのってた様な...
555名無し~3.EXE:2008/01/29(火) 02:12:23 ID:E+a+nw+c
>>553
どのファイルをつっこんだのか教えてほしいな
ngen powershell.exe
しても
間違ったフォーマットのプログラムを読み込もうとしました。
といわれるばかり
556名無し~3.EXE:2008/01/29(火) 02:16:59 ID:PxbDtKja
ngenって.netのネイティブイメージ作ると書いてあるから
powershellを入れても駄目なんじゃないのか?
shellから.net frame workを呼び出す時に速く出来るとか
557名無し~3.EXE:2008/01/29(火) 02:37:40 ID:vF51HENe
>>555
PowerShell の起動を高速化する
ttp://flamework.net/article/4743792.html

関係ないけどngenはQTTabbarなんかにも効果アリ
ttp://pc11.2ch.net/test/read.cgi/software/1198215947/78
558名無し~3.EXE:2008/01/29(火) 03:21:39 ID:PxbDtKja
ngenといっても効果が目に見えるほど出ない場合も多い様子。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=13033&forum=7
559名無し~3.EXE:2008/01/29(火) 09:19:58 ID:yA3H4cYm
>>558
使い方が悪い。.NET アプリは .NET Framework のライブラリを起動時に読み込んでるわけだから、実行プログラムだけでなく、読み込むライブラリにも適用しないとだめ。
>>557 のスクリプトは、PowerShell の使ってるライブラリ全部に Ngen かけてる。少なくとも俺の環境では劇的に速くなった。
560名無し~3.EXE:2008/01/29(火) 10:13:08 ID:CLYNJZF2
特に何もしてないのにPowerShellの起動が爆速になった。
SuperFetchの効果かな。
561名無し~3.EXE:2008/01/29(火) 10:31:32 ID:Oe8JRbbE
WindowsとProgram Files以下のDLLとEXEをとりあえずngenに全部突っ込んでみりゃいいのかねw
562名無し~3.EXE:2008/01/29(火) 12:06:25 ID:5qYnI8wu
powershell.exe自体はWin32コンソールアプリなわけだからngenしても意味ないでしょ
ウインドウ開いてカーソルが出るまではcmd.exeと変わらんから、ここまでがpowershell.exeの起動で
そこからmscorlib.dllとかSystem.Management.Automation.dllとか読み込むのに時間かかってるんでない
563名無し~3.EXE:2008/01/29(火) 12:22:23 ID:4Qi9AMlq
ぜんぜん違う。
PowerShell起動中にInstall-NgenAssemblies.ps1を実行してみろよ。
次から一瞬で起動するぞ。
Paint.NETでも試したが起動が速くなった。
564名無し~3.EXE:2008/01/29(火) 12:35:29 ID:PxbDtKja
そのネイティブイメージというのは実体はメモリにあるだけなのか
それともどこかにファイルが出来るのだろうか
565名無し~3.EXE:2008/01/29(火) 12:42:24 ID:i8ABvs7h
ていうかngen的なものはexe実行時にOSが自動的にやってくれよ。
そういう機構入れれば.NETがここまで忌み嫌われることもなかっただろうに。
566名無し~3.EXE:2008/01/29(火) 13:54:16 ID:PxbDtKja
>>565
MSの開発者だって馬鹿じゃないだろから
あえてやらないのは、何か理由があるんだろうよ。
だから何かのデメリットがあるんじゃないのかと疑ってしまう。
567名無し~3.EXE:2008/01/29(火) 14:59:24 ID:HKRm/2au
>>565
一度キャッシュされたアセンブリは、明示的にキャッシュから削除しない限り、アセンブリを削除しても残る。
だから自動的にやったらゴミファイルでキャッシュがどんどん肥大化する。同じファイル名でもバージョンが違うと別物としてキャッシュされるから、特にバージョンアップの激しいソフトなんかゴミを貯めまくる。

それを避けるために必要なものだけキャッシュする仕組みになってる。
そんだけ。
568名無し~3.EXE:2008/01/29(火) 15:04:06 ID:vLuESXRJ
そんなの月一でクリーンアップすりゃいいだけの話
569名無し~3.EXE:2008/01/29(火) 15:12:20 ID:HKRm/2au
MSDNには、ソフトのインストール時にキャッシュし、アンインストール時にキャッシュから削除する方法が説明してある。
が、.NET Framework の特長として「コピーするだけでインストール終了、削除するだけでアンインストール終了」というのがある。先に述べた方法では、インストーラが必要になるので、それに反する。だからキャッシュの管理は基本的にユーザーに任されている。
570名無し~3.EXE:2008/01/29(火) 15:15:26 ID:4Qi9AMlq
とりあえず思うのは賢い奴以外が憶測や勘違いで妄想垂れてスレを汚したり雰囲気悪くすることだな。
バカはとにかくKYことに神経をとがらせろ、有用な情報をフィルタリングするのも一苦労なんだから。
571名無し~3.EXE:2008/01/29(火) 15:17:33 ID:HKRm/2au
まあ、Vista の次の OS あたりで自動化されんじゃないの?

計画では Vista で OS と統合される予定だったんだけどね。
572名無し~3.EXE:2008/01/29(火) 15:19:21 ID:HKRm/2au
>>570
そのレスのどこに有用な情報が?
573名無し~3.EXE:2008/01/29(火) 16:33:49 ID:5qYnI8wu
>>563
何が全然違う?読み込むって表現は微妙かなとは思うけど
Install-NgenAssemblies.ps1でもやっていることは上で挙げたようなDLLをngenしてるだけだよ
574名無し~3.EXE:2008/01/29(火) 17:51:59 ID:NzuNVBua
たぶん起動速度のことを言ってるだけで、562に言ってるんじゃないんじゃね?

で、ngenは確かにアンインストールしないとキャッシュが残るけど、
依存関係で一緒にインストールされたライブラリ(?)に関しては、
不要になると削除される(というかインストール時にアップデートされる)みたい。
バージョンアップが活発でもゴミが溜まるわけではない。

自作ソフトの開発版をngen installしまくってるけど
ngen displayしたら古いバージョンは無かったよ。
575名無し~3.EXE:2008/01/29(火) 18:54:29 ID:5qYnI8wu
あ、そういう意味か、勘違い失礼
576名無し~3.EXE:2008/01/29(火) 20:17:59 ID:HKRm/2au
>>574
確かにバージョンアップすると古いバージョンが削除される設定にもできるけど、それは設定次第。各バージョンが共存できるのも .NET の特長。
577名無し~3.EXE:2008/01/29(火) 20:46:21 ID:NzuNVBua
ちなみにそれって何の設定?
ngenの設定?それともコンパイル時とか?
578名無し~3.EXE:2008/01/29(火) 21:15:43 ID:bF0AIf4h
自動的にngen実行したら初回(あるいはキャッシュがクリアされた直後)は
いちいちUACのダイアログが出る上にngenの分時間が掛かるじゃん。
お前がUAC切ってるからってみんな切ってると思うな
579名無し~3.EXE:2008/01/29(火) 21:45:20 ID:WAIf2cfd
shellなんて立ち上げっぱなしにするし、JITだし。
あえてngenでプリコンパイルする理由がさっぱりわからん。
580名無し~3.EXE:2008/01/30(水) 00:00:14 ID:MFSC8y0P
立ち上げっぱなしにしないし
起動が遅くなるのが気に食わないし
そもそも、ちょっとした処理にしか使わないけどと言う人には、問題あるだろ。

で、キャッシュは何処にできるんだ?ひょっとし
ネイティブイメージなら.netなくても使えるとか期待してみてるんだけど。
581名無し~3.EXE:2008/01/30(水) 00:17:41 ID:uQoYYiCq
http://msdn.microsoft.com/msdnmag/issues/06/05/clrinsideout/default.aspx?loc=jp
とりあえずこれを全部読んでから書き込め
582名無し~3.EXE:2008/01/30(水) 00:41:53 ID:MFSC8y0P
それは大分前に読んでるけどGAC がディスク領域を消費しているって事は
どこかにキャッシュが出来ているんだろ。
俺はそれが何処にあるのか知りたいだけ。
後はGACの本体が部分的には.NETのフレームワークを利用して動くのかとか
583名無し~3.EXE:2008/01/30(水) 01:44:42 ID:osv3e05M
なぜそんなに偉そうなんだ。
貴様は人に物を頼むときの口の利き方を知らんのか。
貴様が3歳児なら大目に見てもやるが違うのならその横柄な態度を改めて恥じろクズ
半年ROMる必要すらないわ、失せろ
584名無し~3.EXE:2008/01/30(水) 01:59:02 ID:MFSC8y0P
お前に書いたわけでもないのに、なぜそんなに偉そうなんだ。
貴様は初めて見たIDに対する口の利き方を知らんのか。
貴様が3歳児なら大目に見てもやるが違うのならその横柄な態度を改めて恥じろクズ
半年ROMれ。スルーできないなら悪態を書く前に黙って失せろ

つまりこういうことだな。滑稽な奴w
585名無し~3.EXE:2008/01/30(水) 03:11:11 ID:3DeLpmBq
-contains演算子の存在に気付いてなかった自分に絶望した
586名無し~3.EXE:2008/01/30(水) 08:52:11 ID:b7jGUpgQ
>>582
嘘つくなよ。581のからリンク一個飛ぶだけでGACがどこのディレクトリに当たるのかは書いてある
つーか、まともに.NETやってればそれを知らないとかあり得ない

そもそもGACとngenで生成されるネイティヴイメージは別物だから
> で、キャッシュは何処にできるんだ?ひょっとし
> ネイティブイメージなら.netなくても使えるとか期待してみてるんだけど。
この疑問は的外れ。.netなくても使える、なんて発想も爆笑もの

頭悪いうえに横柄なのはお前だから
587名無し~3.EXE:2008/01/30(水) 09:46:20 ID:9HmT6sct
ネイティブイメージはGACにインストールされるんだけど。
588名無し~3.EXE:2008/01/30(水) 10:06:12 ID:MFSC8y0P
>>586
なんだ、やっぱり駄目なのか。
大体予想通りだったから別に良いんだけど。
お前は、わざわざ報告してくれて中々話の分かるツンデレだな。

記事は読んだよ。
ただ、どうでもいい記事の中身など、一々覚えてないし。
確かに.netなど微塵も使った事がないが。
3になったので、まともな製品になってるかかと少し見てるだけで。
まあそんなに過大な期待はしてないけど。
589名無し~3.EXE:2008/01/30(水) 10:15:42 ID:MFSC8y0P
>>587
頑張って調べてくれたようであれだけど
一部、間違ってるらしいぞ。
590名無し~3.EXE:2008/01/30(水) 10:16:16 ID:MFSC8y0P
あれ、>>586が間違ってるのか。
591名無し~3.EXE:2008/01/30(水) 16:48:32 ID:ZjbQwAfb
>>579
それは何か試すたびに強制終了食らう俺への挑戦ですね?
イベントログみても珍文漢文だし、なんとか一瞬で消えるエラー文を保存する手段はないものか・・・
592名無し~3.EXE:2008/01/30(水) 20:05:40 ID:9HmT6sct
>>591
PowerShellあるいはcmdを起動した上でもう一度プロンプトからPowerShellを起動する。それから極悪スクリプトを実行。そうすれば強制終了くらってもエラーメッセージは残る。
593名無し~3.EXE:2008/01/30(水) 22:20:03 ID:ZjbQwAfb
>>592
うっひょthx、しかしエラー文読んでも今の俺じゃ役に立てれそうにないな(イベントログよりはマシだけど)
594名無し~3.EXE:2008/01/30(水) 22:39:35 ID:4Xd0jaZG
あ、そうか!
Adobe Readerも.netだからngenかければ高速化できるじゃん!
・・・何一つ.netじゃなかった orz

Adobe ReaderもMozillaもPhotshopもイラレも.netで出来てたらよかったのにw
あ、でもこれを.netに移植したらどうなるんだろ?
毎回JITコンパイルしたらさぞ楽しいだろうにw
595名無し~3.EXE:2008/01/30(水) 22:45:10 ID:osv3e05M
w←これつける奴ってなんで厨房ばっかなの?
発言の節々に頭の悪さがにじみ出てて不愉快なんだが。
596名無し~3.EXE:2008/01/30(水) 22:51:30 ID:cVCJlUSQ
俺は Foxit Reader 使ってる
ブラウザ埋め込みでないのが難点だが大概の pdf は読める
597名無し~3.EXE:2008/01/31(木) 00:38:19 ID:nVZsjAwa
http://cowscorpion.com/Compression/NETZ.html
.NETZ は Microsoft .NET Framework (.NET 言語)の実行ファイル(.exe .dll)を圧縮するコマンドラインツールです。小さいexeファイルにすることによりより速くロードすることが可能になります。
 .NETZで圧縮すると*.netz フォルダが作成されます。

なんか怪しげなツールが・・・
598名無し~3.EXE:2008/01/31(木) 01:22:28 ID:tX1bP+86
やばい、whereと-cantansの組み合わせが強力すぎる・・・
599名無し~3.EXE:2008/01/31(木) 09:35:11 ID:misnWSE1
>>595
600名無し~3.EXE:2008/01/31(木) 18:55:37 ID:QcIMgxb7
>>597
実行時に圧縮を展開してさらにJITコンパイラで展開するという
2度手間になるだけのような…。
ネイティブイメージのキャッシュも効かなそうだし、
試しにやってみたらシリアライズ周りでエラー起きたし・・・。
601名無し~3.EXE:2008/02/06(水) 08:47:20 ID:fle3vp5b
$source | Select-String -SimpleMatch "PowerShell"ってやった場合$sourceはどのスイッチと繋げられるの?
-InputObject $sourceとは出力違うし、-Pathに変数を指定する方法あるのかな
602名無し~3.EXE:2008/02/06(水) 12:02:20 ID:W4m3r37/
>>601
Get-Help Select-String -full で調べてみろ。

-InputObject は ByValue
-Path は ByPropertyName

つまり、Get-Content | Select-String とした場合、-InputObject が、
Get-ChildItem | Select-String とした場合、-Path が使われる。
Get-ChildItem 以外で -Path を使いたい時は Add-Member を使え。
603名無し~3.EXE:2008/02/06(水) 15:50:52 ID:NSjQJmNT
>>602
ありがとう、$source = type log.txt としたものだから、-InputObjectが使われてるはずだけど
実際に-InputObject使うと$sourceの改行無視して1行として扱ってるんだよね
パイプで渡すと一行ずつ読み取ってるせいのかちゃんと分けて扱ってくれる
改めてヘルプ見てて気付いたけど、-Textスイッチがあるっぽいのに実際使用できないのは2.0だからかね…
Add-Memberは今回の場合どう使えばよろしい?
604名無し~3.EXE:2008/02/07(木) 10:39:11 ID:aftU7wUA
>>603
-InputObject <psobject> と書いてあるだろ?
-InputObject <psobject[]> じゃねーだろ?
-InputObject は配列を受け取らない。
だから、こうだ。
foreach ($_ in $source) { Select-String -InputObject $_ -Pattern '正規表現' }

Add-Memberは今回の場合使わなくてよろしい。-Pathを使いたい時っつってるだろ。
これやってみろ↓
New-Object object | Add-Member NoteProperty 'Path' 'source.txt' -PassThru
605名無し~3.EXE:2008/02/07(木) 19:49:54 ID:FYF944Cd
>>604
OK把握した、何度もありがとう
602の最後の一行を-Pathに変数のパスを指定したいなら、的な意味に受け取っていた

・・・2.0にした後英語わかんねーって1.0のヘルプをぶち込んでたせいで
Select-Stringのスイッチが結構変わってことに気付かなかった俺アホス
というか何で1.0には-Encodingがなかったんだろ
606名無し~3.EXE:2008/02/07(木) 22:23:42 ID:v+Vi3cL2
酔った勢いと余った図書カードを処分したいが為にPSインアクションを買ってしまった・・・
どー見ても使いこなす気ありません・・・
607名無し~3.EXE:2008/02/07(木) 23:33:42 ID:FYF944Cd
前書きとかコラムの開発裏話読んでるだけでも結構楽しいぜ
608名無し~3.EXE:2008/02/08(金) 01:01:46 ID:EidWaH7+
ごめんなさい
プログラマブル買うために書店行ったら別の本が欲しくて駆っちゃった

プログラマブル読む限り、.netなシェルはPSだけじゃなくIronPyshonというてもあるんだな
609名無し~3.EXE:2008/02/08(金) 11:49:19 ID:jvIQvTR5
確かにpythonやperlをシェルにする奴もいる。タイプ量が多くなっても気にならないならそれでもいいんじゃないの?
610名無し~3.EXE:2008/02/08(金) 16:09:04 ID:EidWaH7+
XP版のPowerShellには(当然かもしれないけど)ジャンクションとか
リンク関係のコマンドレットが装備されてないようだ orz

Vistaてリンクとかサポートされてるんだよな? ウラヤマシス
だとするとどんなコマンドレットでやるの?
Set-Link?New-Link?Link-File/Link-Directory?Mount-Device/Mount-Directory?
ぐぐってもみつからないのでplz
611名無し~3.EXE:2008/02/08(金) 18:13:03 ID:jvIQvTR5
サポートされてねーよ。
612名無し~3.EXE:2008/02/08(金) 20:46:28 ID:saK4tu3r
mklinkを使いなさいってことですか
613名無し~3.EXE:2008/02/08(金) 23:11:50 ID:3/AZXx2w
ああ、スクリプトコンテストに送るような一発ネタが思い浮かばん
Janeで最近開いた画像のURLを指定数取得するスクリプトーなんてぜってー俺しか必要としてないだろうしなぁ
614名無し~3.EXE:2008/02/08(金) 23:22:22 ID:GTmvk7f3
2chを巨大なディレクトリ構造とみなして統一的に扱えるコマンドレットキボンヌ
615名無し~3.EXE:2008/02/08(金) 23:40:19 ID:2BRWjuNq
>>609
pythonはタイプ数多いが、perlはタイプ量少ないだろ。
それにemacsとかで使わないとはちょっと考えられない感じだし。
IronPythonなら.net使えるから言う程の差はないだろ。
616名無し~3.EXE:2008/02/09(土) 19:23:00 ID:KDViLJbu
>>614
それはコマンドレットじゃなくてプロバイダでは?
FTP用のプロバイダがあってもいい気がする
Copy -Item D:\hoge.txt myftp:\hoge.txt
という感じでアップロードできるヤツ
617名無し~3.EXE:2008/02/09(土) 19:25:41 ID:FEYegDOO
>>615
Perlでファイルの中身をソートして表示する場合
open(IN, $fileName);
@lines = <IN>;
close(IN);
sort @lines;
print @lines;

PowerShellの場合
cat $fileName | sort

Perlで他のコマンドを呼び出す場合
exec "vi";

PowerShellの場合
vi
618名無し~3.EXE:2008/02/09(土) 21:12:09 ID:dy3FvNB9
>>617
当然、場合によるだろ。
そもそも、shellとして使うなら.netでpsが補強しているように
ライブラリとかでperlも補強して関数とか使えないと条件が同じじゃない。

もし必要ならcat相当のを作っておけば良い。
emacs使うというのもeshellとかエディタの補強を加味しないで
使うなんて常識的に考えてありえないだろ。
shell変わりに使うって事はそういうことだろ
619名無し~3.EXE:2008/02/09(土) 21:14:07 ID:ok6YynHe
海栗糞板にカエレ
620名無し~3.EXE:2008/02/10(日) 06:43:38 ID:YS6F4ptA
>>616
ぐぐったら海の向こうでNick Howelって人が作ったらしい
常時公開してる訳ではないみたいだけど、希望するならうpするよーみたいな感じ?
ttp://www.google.co.jp/search?hl=ja&q=Nick+Howell+powershell%E3%80%80ftp&lr=
621名無し~3.EXE:2008/02/10(日) 09:32:55 ID:G4pwbdWC
>>618
コマンド一つ使うのにいちいちexecとかsystemなんて打ってられるかってことだよ。
誰もスクリプトとしての側面なんて比較してない。シェルとして日常的に使うには cat|sort は大事。それは、catとsortだけ作ればいいって話じゃない。
622名無し~3.EXE:2008/02/10(日) 09:41:02 ID:G4pwbdWC
つまりだ。.NET使いたいならVisual StudioでC#使えばいいわけで、PowerShellをなぜ使うのかって言うと、シェルとして使うことを前提に作られてるから使いやすいから。これに尽きる。
623名無し~3.EXE:2008/02/10(日) 09:42:56 ID:G4pwbdWC
エクスプローラしか使ったことのない奴にはPowerShellもPerlも区別つかないみたいだがな。
624名無し~3.EXE:2008/02/10(日) 09:45:21 ID:+Lag6485
連投うざいよ
625名無し~3.EXE:2008/02/10(日) 14:33:34 ID:G4pwbdWC
「連打やめてよ(涙)」だろw
626名無し~3.EXE:2008/02/10(日) 21:21:52 ID:Rxy6QIzM
ps1ファイルの自身のファイル名はどうやって取れますか?
627名無し~3.EXE:2008/02/10(日) 21:38:23 ID:LCkF/Z0X
スクリプト自身のパスを取得する
ttp://d.hatena.ne.jp/newpops/20051110/p1
628名無し~3.EXE:2008/02/10(日) 21:44:08 ID:Rxy6QIzM
Thanks a lot!
629名無し~3.EXE:2008/02/11(月) 14:09:41 ID:OljdrfF6
HKEY_CLASSES_ROOT:\へのプロバイダないもんかな
ProgIDをdirとかwhereしてみたいんだけ(ただの好奇心)なんだけども
630名無し~3.EXE:2008/02/11(月) 14:47:27 ID:OaIcDJ77
>>629
あるよ。ただHCRをマウントしてないだけで・・・
それともclasses用の特殊なプロバイダ?

New-PSDrive -name HCR -PSProvider Registry -root HKEY_CLASSES_ROOT
そういえばヘルプ(Get-Help)をみるとnew-Psdriveになってるけど何で?
Javaとかでこういう命名法使うのは知ってるし、C#のローカル変数はこの規則に従うようにとかのガイドラインも見たが・・・
なんでヘルプにこの命名法が使われてるのか不明。コマンドレットはNew-PSDriveなのに
631名無し~3.EXE:2008/02/11(月) 14:57:20 ID:OljdrfF6
>>630
あ、あったのねー、ねーネー…(echo)
そういう、マウントしていないけど存在するプロバイダの列挙はどうやるの?
632名無し~3.EXE:2008/02/11(月) 16:30:32 ID:OljdrfF6
dir HCR:\CLSID | ? { Test-Path $($_.PSChildName + "\ProgID") } |
% { Get-Item $($_.PSChildName + "\ProgID") } | % {$_.GetValue("")} | ? {$_ -match "application"}
うーむこの書きやすさは快感だわ・・・
633名無し~3.EXE:2008/02/11(月) 17:11:18 ID:OaIcDJ77
>>631
使えるプロバイダはGet-PSProviderで
現在マウントしてるドライブはGet-PSDriveで

Get-Command -verb Get ...
634名無し~3.EXE:2008/02/11(月) 17:31:25 ID:OljdrfF6
>>633
それだとHRLは出てこなくない?
Registry ShouldProcess {HKLM, HKCU}
635名無し~3.EXE:2008/02/11(月) 19:15:23 ID:OaIcDJ77
>>634
ああ、それのことか
プロバイダって言ってたからてっきりPSProviderのことかと思ってた
マウントするデバイス(便宜上w)のことが言いたかった訳ね
つまり、ls /dev/ するにはどうすればってはなしか

それは別のツールを使うか、プロバイダに付属するコマンドなりを使って調べんとだめなんじゃないの?
Get-Help プロバイダ.Name  -Category Provider でプロバイダの説明が得られるから(自分で調べろよ)
Get-PSProvider | % { Get-Help $_.Name  -Category Provider} | more とでもやって一通り目を通したら?
636名無し~3.EXE:2008/02/11(月) 19:27:10 ID:OljdrfF6
>>635
HKEY_CLASSES_ROOTのプロバイダの存在は何処で知ったのかなーとか思ったけど
よく考えなくても全てはマイコンピュータからぶら下がってる一つのレジストリだから
当然"HKEY_CLASSES_ROOTのプロバイダ"なんてものは存在しないわけね、酷い勘違い
637名無し~3.EXE:2008/02/11(月) 21:46:30 ID:Py0znl5z
>>623
perlもlispもEmacsもeshellも
それ以外のまともなshellも使った事がないはよく分かったよ。
psはMS初のまともなshellってだけで
タイプ数とかそういうショボイレベルでは大差ない。

逆に言えばライブラリとかオブジェクト使えるとかのps独自の売りを除けば
意外と普通のshellだと思うよ。
638名無し~3.EXE:2008/02/11(月) 22:47:44 ID:OljdrfF6
そんなバイクからエンジン抜けば意外と普通の自転車だよ、みたいなこと言わんでも…
コマンド命名規則やパラメータ、オプション名が統一されてるのは従来のシェルにない革新性だと思う
639名無し~3.EXE:2008/02/11(月) 23:23:18 ID:Py0znl5z
そう、エンジン抜いた部分が素晴らしいと
主張しても無理があるという話なのは理解できるだろ?

たからタイプ数とか危うい部分でメリットを主張するのはどうかと。
640名無し~3.EXE:2008/02/11(月) 23:57:39 ID:OljdrfF6
いやそもそもがそういう話(609,615)だったのでは
PowerTab使えばさらに実際のタイプ数減るし
インタラクティブシェルとしては重要な点だと思うよ
641名無し~3.EXE:2008/02/12(火) 01:24:06 ID:wdoYu+Q1
そんなのはどんなshell使ってる人でも
色々考えてタイプ数は少なくするようにする人はいるさ。
しかし大事なのは、中にはあえて増やしている人も居たりして
一概に何が良いとは言えない感覚の問題を含むって事だな。

しかし、こういうのは使用された期間が長いshell程
試行錯誤されて有利な傾向にあるのが一般的。
初心者の目を引くとかなら分かるけど、そんな部分で勝負にはならないよ。
あ、初心者なのか。
642640:2008/02/12(火) 01:35:10 ID:5kwD2NcL
>>641
うん、俺が初心者なのは確か(断る必要もないだろうけど623とは別人だよ)
あ、オブジェクトって部分以外の特異な長所にプロバイダの存在も追加ね(Windowsのシェルとして使う場合)
643名無し~3.EXE:2008/02/12(火) 02:23:46 ID:2wVFh06D
>>641
何が言いたいのか整理してから書いたら?
644名無し~3.EXE:2008/02/12(火) 03:17:59 ID:wdoYu+Q1
>>643
・タイプ数はけして少なくない
・タイプ数は少なければ良いというものでもない。
・初心者ウケ狙いで適当な事書くのも良くない(信者的な意味で)。

psの前にまず日本語な
645名無し~3.EXE:2008/02/12(火) 09:30:01 ID:2wVFh06D
>>644
・PowerShellは他のシェルに比べてタイプ数が多い
・タイプ数の少なさは利点にはならない
・初心者ウケ狙いで適当な事を書いた人がいる(信者的な意味で)

ということが言いたいわけか?
最後の一文は同感だなw
646名無し~3.EXE:2008/02/12(火) 09:37:39 ID:2wVFh06D
シェルとして使う限りにおいて、どう考えてもパワーシェルの方がPerlに比べてタイプ数が少なくなるのは歴然だし、タイプ数が少ないことは大きな利点だと思うがな。
タイプ数が少ないというのは、つまり、システム変数が $_ とか $& とか短いということじゃない。同じ仕事が少ない指示でできるってことだよ。少ない指示で仕事のできる部下は、いちいち指示されなきゃできない部下より優秀。わっかんねーかな?
Emacsを使えば?というのは、Emacsをシェルとして使うということで、Perlをシェルとして使うことにはならない。それこそシェルとしてEmacsに劣ることの証明だ。
647名無し~3.EXE:2008/02/12(火) 17:18:10 ID:AvPzHLTA
>Emacsを使えば?というのは、Emacsをシェルとして使うということで、Perlをシェルとして使うことにはならない。
フムフム(゚Д゚ )
>それこそシェルとしてEmacsに劣ることの証明だ。
(゚Д゚)ハァ??

Emacs -> シャーペン、Perl -> エンピツ、シェル ->筆記具(学習用)で置き換えてみよう
>シャーペンを使えば?というのはシャーペンを筆記具として使うということでエンピツを筆記具として使うことにはならない。
>それこそ筆記用具としてシャーペンに劣ることの証明だ。
やっぱり1行目と2行目の関連性が無い

648名無し~3.EXE:2008/02/12(火) 17:27:14 ID:AvPzHLTA
そもそもEmacsがテキストエディタと言うよりLISP実行環境だってのは良いとして、
Perlってshellか?
スクリプト言語かもしれないがシェルと言えるのか?
Perlをインタラクティブに使った事は在るのか?

たしかに標準出力でperlインタプリタにスクリプトを手入力で渡してやれば動くのかもしれないが
果たしてそれがインタラクティブと言えるのか?

異種格闘技過ぎてワケワカメ
649名無し~3.EXE:2008/02/12(火) 18:01:59 ID:5kwD2NcL
え、俺適当なこと言った?
>>648
PowerShell作者は対話形式のシェル操作をより優先したのがシェルで
アプリケーションを記述することに重点を置いたものがスクリプト言語だと言ってるね
一方の利点が他方の足枷になることもあり、PowerShellはその両立が目標で最大の難関だった、とも
650名無し~3.EXE:2008/02/12(火) 22:31:15 ID:2wVFh06D
>>647
シェルは知らないけど文房具は知ってるから無理やり想像してんのかw
悪いけど共通点ほとんどないから。
触ってみるのが一番だと思うよw
651名無し~3.EXE:2008/02/12(火) 23:29:48 ID:Uw4/TXPa
perlとPowerShell比較してる人はperlの対話型実行環境と比較してるんじゃないの

Rubyのirbみたいな
俺はPerl触らないからよく知らんけど

irbも普段使いする人は相当手いれるからどっちでもいいんじゃね

ただ、PowerShellはPowerShell.exeのコマンドライン履歴とか、編集があんまり柔軟
じゃないっつーか、タブでの補完くらいしかいじれないのがさみしい

具体的にはsh系のviモードみたいなのが欲しいんだけど……
652名無し~3.EXE:2008/02/13(水) 00:24:09 ID:dwxMPSk2
>>650
んいや、そういう訳じゃないって。目に見えない抽象的なものを目に見える具体的なものに置き換えるのは基本的なことだろ?
まあ互換性のない型にキャストしようとすると例外が発生するがw
単純に1行目と2行目の関連性がないじゃない。だからほかのも(物質的でわかりやすいもの)ので置き換えた場合
関連性がつかめるようになるかな?と試してみた。結果やっぱり関連性が見えないんだよね
Emacs、Perlはシェルから派生したクラスだとするなら
シャーペン、鉛筆は筆記用具から派生したクラスだろうから多分当てはまるんじゃないかな?と思ってたり

>Emacsを使えば?というのは、Emacsをシェルとして使うということで、Perlをシェルとして使うことにはならない。
これはまあ理解できるとして
>それこそシェルとしてEmacsに劣ることの証明だ。
全然証明してない

そもそも"Emacsを使えば?" というのを"Perlをシェルとして使うこと"としてとらえるような人って居るの?
わざわざ「Emacsを使えば?というのは、Emacsをシェルとして使うということ」なんて言わなくてもいいだろ
[A++という演算は、A = A+1というのであって、B = B+1ということにはならない]
=> [これは C < Bの証明だ]なんて変な話だと思うが
653名無し~3.EXE:2008/02/13(水) 00:46:54 ID:dwxMPSk2
>>648 = >>652

どれが最強か?なんて話はどうでも言い話じゃないのか?
結局、道具が使いこなせない人はその道具が不便に思えるだけで
道具と相性がいい人は、まさに便利な道具として使ってるだけなんじゃないの?
lispが好きな人はlisp使えば良いじゃん
Win vs Mac戦争って結局どっちが勝ったんだっけ?Delphi vs VB (ry
便利・不便な点を列挙するのは悪い事じゃないけどねエスカレートすると宗教っぽくなるからやめて欲しいね、個人的に。

でもまあPowerShellって微妙な言語では在るよね
C#と比べると、シェル言語として対話性が強いよね。プロバイダによって提供される擬似FSは特徴的。
非.netなほかの言語と比べると、.netなライブラリを使えるのは大きいよね。単にライブラリがほかの言語ともシームレスに共有できるだけだが。
cmdと比べると明らかにシェルスクリプトと言う面において勝っている。
654名無し~3.EXE:2008/02/13(水) 01:08:19 ID:UT7yH6WS
このスレって2・3人でまわってるのか?
どんだけ不人気言語なんだ・・・
655名無し~3.EXE:2008/02/13(水) 02:20:55 ID:iE4ucirh
>>652
>>615に遡ると
それに(Perlを)emacsとかで使わないとはちょっと考えられない感じだし。

となって

Emacs(でPerl)を使えば?というのは、Emacsをシェルとして使うということで、Perlをシェルとして使うことにはならない。

ということなんじゃないかな?
656名無し~3.EXE:2008/02/13(水) 10:23:53 ID:1oQrTDIX
>>655
その通り。ありがとう。文房具にたとえないとわかんない奴と話すのはしんどい。
シェルならシェル、PerlならPerlで通じてほしい。
657名無し~3.EXE:2008/02/13(水) 12:38:52 ID:LmBhNHDy
>>652
抽象的か?文房具にたとえなくてもperlとかEmacsとか十分わかるが。ググって見れば?
658名無し~3.EXE:2008/02/13(水) 15:42:55 ID:dwxMPSk2
>>655
>Emacs(でPerl)を使えば?
なるほど、そういうことだったのね。エディタのEmacsと言語のperlを比べてる感じがしたから変だなと思ってたんだ。

>>656
別に文房具にこだわった覚えないよ。文房具の話をしたのは1レスだけだろ?

>>657
ただ身近にあるもに置き換えただけだって。
単に"Emacs(でPerl)を使えば?"というのがわからなかっただけだよ

これで全レスキモいとか言われたらへこむな
スレ汚しスマソ
659名無し~3.EXE:2008/02/13(水) 23:48:31 ID:LmBhNHDy
誰かわかりやすくガンダムにたとえてくれ。
660名無し~3.EXE:2008/02/14(木) 01:10:13 ID:+JMewucD
>>632微妙に訂正・・・レジストリパスのPS標準環境変数を、って需要はさすがにあんまないか
dir HCR:\CLSID | ? { Test-Path $("HCR:\CLSID\" + $_.PSChildName + "\ProgID") } |
% { Get-ItemProperty "$("HCR:\CLSID\" + $_.PSChildName)" } | ? {$_ -match "application"}
661名無し~3.EXE:2008/02/14(木) 11:09:17 ID:q3jE7u2o
PSって.NET周りのライブラリをラップしまくっていく計画はないの?
[]で囲んで呼び出すのってなんかメンドイ。
まあ若い言語にありがちなライブラリ不足を
最初から一挙に解決してるというのはすごいことではあるけどさ。
662名無し~3.EXE:2008/02/14(木) 11:56:18 ID:KKTvx6Sx
>>661
具体的に何をどうすればいいの?
たとえば [string]::Join() の代わりに Do-String -join ってすんの?
うわ、覚えるの面倒くさ。MSDNで調べられないし。
663名無し~3.EXE:2008/02/14(木) 14:42:00 ID:+JMewucD
いやまあ2.0なら[string]::Join() は-joinで置き換え可能だけどね
664名無し~3.EXE:2008/02/14(木) 22:09:20 ID:X05UfSj6
2.0まで待てないから1.1とか出してよ
665名無し~3.EXE:2008/02/15(金) 00:17:15 ID:CrbFGXBO
静的メンバを参照することって俺はそうそうないからたいして気にしないけど(>>504みたいなのもあることだし)
$_.の後がTabで補完できるようになって欲しいとは強く思う
666名無し~3.EXE:2008/02/16(土) 23:16:40 ID:0osGcP3i
うわ、Get-Itemproperty HCR:\CLSID\*\ProgIDで十分だったのかよ・・・これは酷い
667名無し~3.EXE:2008/02/17(日) 21:35:53 ID:wA3xf7Lk
そういえば>>347はどうなったんだろうとぐぐったらとっくにリリースされてた(まだVer0.4だけど)
IBM - MO74: WebSphere MQ - Windows Powershell Library
http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg24017698

まあ自分には全然関係ない話なのだが・・・こんな感じで大手の参加が増えてくと嬉しいね
668名無し~3.EXE:2008/02/21(木) 02:23:02 ID:PM5o64T+
promptやTabExpansionみたいな自動的に実行される関数って作れるの?
669名無し~3.EXE:2008/02/21(木) 16:56:51 ID:kSsuFJJo
EmacsでPerlを使ったらPerlじゃないなんて、それは変だろ。
良くあるのは表面だけlispで中身は完全にPerlやbashで動いてる。

文房具で話すなら
シャープペンがEmacsで
中身の芯がperlだろ

勿論、芯をPowerShellに変えるのもそんなに難しい話じゃないが
この場合、エディタの補完で好きに出来るから
タイプ数では差はつかないと思うが
670名無し~3.EXE:2008/02/21(木) 20:01:32 ID:+eQ/3KGi
釣れますか?
671名無し~3.EXE:2008/02/22(金) 21:20:42 ID:TJvR2V22
どっちかと言うと釣られたつもりなんだけど。
PowerShellマンセースレの
トンデモ話に釣られて書いて見た。
672名無し~3.EXE:2008/02/22(金) 21:59:46 ID:xOaaVHny
タイプ数どうこう言っててPowerShellをオブジェクト無視して評価する方がよっぽどトンデモです
673名無し~3.EXE:2008/02/22(金) 22:43:40 ID:ZPOI0ASb
NGWORD:Emacs

2chにいるオヤジの粘着力は異常
674名無し~3.EXE:2008/02/22(金) 23:22:52 ID:QgIaUoS0
「Perlをシェルとして使ったらタイプ数増えるぞ」って話でEmacsって。
釣りじゃなきゃ真正のアホか。
「シェル」を知らないから「シェルとして使う」の意味もわかんねーんだな。
675名無し~3.EXE:2008/02/22(金) 23:25:52 ID:QgIaUoS0
文房具に例えなくてもわかるようになってから出直すんだな。
寒いから。
676名無し~3.EXE:2008/02/23(土) 01:09:09 ID:jxg0pa2/
だからタイプ数は増えないだろw
どんだけ
677名無し~3.EXE:2008/02/23(土) 01:20:10 ID:jxg0pa2/
ターミナルエミュレータ無視とか
間に挟むEmacs無視とかありえないから。
折角機能在っても単独PCでDOSと同じ使い方じゃ意味なさすぎ
逆に、それならDOSでいいんじゃね?
678名無し~3.EXE:2008/02/23(土) 02:07:49 ID:hcDUlTWN
言語仕様無視と支援ツール無視じゃ天と地ほど差がありますがな

>>614,616
2chプロバイダ来ましたよー
ttp://d.hatena.ne.jp/coma2n/20080222/
679名無し~3.EXE:2008/02/23(土) 14:05:49 ID:l1cq7kyz
お前ら、
$threads = dir 2ch:\板名/
$logs = $threads | % { dir $_ }
とかやるなよ、絶対やるなよ
680名無し~3.EXE:2008/02/23(土) 17:00:13 ID:YRxZIxBj
>>677
その場合はcommand.comがシェル。
不便だろ?
早く文房具にたとえなくても理解できるようになれよ。
681名無し~3.EXE:2008/02/25(月) 00:14:09 ID:GHYqijag
さっき使い始めたんだけど、これってなんか新世代って感じがするね
MSがEmacsみたいなエディタを出すって聞いても
正直あんまり期待してなかったんだけど、これは……
       ヽ|/
     / ̄ ̄ ̄`ヽ、
    /         ヽ
   /  \,, ,,/    |
   | (●) (●)|||  |
   |  / ̄⌒ ̄ヽ U.|   ・・・・・・・・ゴクリ。
   |  | .l~ ̄~ヽ |   |
   |U ヽ  ̄~ ̄ ノ   |
   |    ̄ ̄ ̄    |
682名無し~3.EXE:2008/02/25(月) 02:20:17 ID:GHYqijag
tmp\a\ファイルいっぱい
tmp\b\ファイルいっぱい
...
tmp\z\ファイルいっぱい
で、
PS tmp>
なとき、
tmp\a.7z
tmp\b.7z
...
tmp\z.7z
みたいに圧縮しようとして、エスケープやワイルドカード文字もディレクトリ名に使ってるからと
ls | %{ cd -l $_; $_='C:\Program Files\7-Zip\7z.exe a ..\'+$_+'.7z *'; invoke-item -l $_; cd .. }

ls | %{ cd -l $_; $_='C:\Program Files\7-Zip\7z.exe a ..\'+$_+'.7z *'; & $_; cd .. }
とかしたんだけども、全然動かなくて死にそうです
だれかボスケテ

リネームしろボケ!は最終手段でお願いしますorz
683名無し~3.EXE:2008/02/25(月) 02:28:31 ID:paOisBgU
$_に代入しちゃ駄目
% { $name = $_.name ...}
みたいな感じで一端他の変数に代入してからどうぞ
684名無し~3.EXE:2008/02/25(月) 10:41:57 ID:aUIbUud9
>>682
読みづらいな。
無駄を省いて変数を使うともっと読みやすくなる。
読みやすくなればバグも減る。
7zもってないから試してないけど、これでどうだ?

$7z = 'C:\Program Files\7-Zip\7z.exe'
ls | % {$n = $_.name; &$7z a "$n.7z" "$n\*"}

つーか、PATH通せ。

ls | % {7z.exe a "$($_.name).7z" "$($_.name)\*"}
685名無し~3.EXE:2008/02/25(月) 14:56:41 ID:nCbld93w
PS C:\test\test> dir *aaa*.txt | ren -NewName ccc.txt
Rename-Item : 'Microsoft.PowerShell.Core\FileSystem::C:\test\test\aaa [1].txt' の項目は存在しないため、名前を変更できません。

ファイル名に[]がついてるとリネームに失敗するんだけどどげんしたらいいの?
686名無し~3.EXE:2008/02/25(月) 20:51:49 ID:aUIbUud9
>>685
dir *aaa*.txt | mv -dest {'ccc.txt'}
687686:2008/02/25(月) 20:55:23 ID:aUIbUud9
あ、実際やってみたらスクリプトブロックいらねーや。

dir *aaa*.txt | mv -dest ccc.txt
688名無し~3.EXE:2008/02/26(火) 07:01:19 ID:bvo57Pl5
-LiteralPathがRename-Itemにはないんだな
689685:2008/02/27(水) 13:02:52 ID:EtJ9RabM
ありがとうございます。

ワイルドカードだか正規表現に使う[]と内部的にぶつかってるって事なんですかね。
微妙な動作だな…
690名無し~3.EXE:2008/02/27(水) 14:30:06 ID:Ux4Qer0o
CodeZine: Windows PowerShell 入門(2)−基本操作編  2
http://codezine.jp/a/article/aid/2201.aspx
691名無し~3.EXE:2008/02/27(水) 17:11:10 ID:14Xm5lPp
この辺で中の人が回答してるね
Problem with square bracket and rename-item
http://sandbox.manning.com/thread.jspa?messageID=62599

ところで任意の桁まで0で埋めた連番表現する時どうしてる?
冗長に書けば幾らでも手段はあるけども、簡潔なやつ募集
$ofs = ""
[string[]](1000..1100) | % { "file_$([string]$_[1..3])" }
692名無し~3.EXE:2008/02/27(水) 17:15:31 ID:14Xm5lPp
あ、[string]いらないや
[string[]](1000..1100) | % { "file_$($_[1..3])" }
693名無し~3.EXE:2008/02/27(水) 20:53:23 ID:7qlmGD/I
>>692
うちの2.0CTPだと
>>
file_0 0 0
file_0 0 1
file_0 0 2
<<
こんな出力になるんだけど……

普通に0埋めしたいだけなら
1000..1100 | % { "file_$($_.ToString("000000"))" }
ってするかな
# 3桁だと0埋めにならないから6桁にした
694名無し~3.EXE:2008/02/27(水) 21:05:31 ID:14Xm5lPp
>>693
$OFS = "" を忘れちゃいやん
[string](1,2,3)
$ofs = "+"
[string](1,2,3)
$ofs = ""
[string](1,2,3)
""の中で式文使うのって他人に読み辛いかなーとかどうでもいいことを気にする年頃です
695名無し~3.EXE:2008/02/27(水) 21:22:09 ID:14Xm5lPp
それはそうとToStringに引数渡せって初めて知りました、どうもありがとう
0だけの文字列を渡すと桁揃えに使えるんだね
ttp://www.kisoplus.com/sample2/henkan.html
適度に長いから読みにくくならないしいいかも
696名無し~3.EXE:2008/02/27(水) 23:27:09 ID:kcHVAEQP
あー$OFSって組み込み変数なのか、すいませんでした

自分は変数展開すきじゃないので、出来る限りシングルクォートで書くかなぁ
>>693>>692みてなければ
1000..1100 | % { 'file_' + $_.ToString("000000") }
って書いたと思う

普通のシェルスクリプト書きなれた人は変数展開つかうのかな
697名無し~3.EXE:2008/02/28(木) 00:12:36 ID:OqVjDEwP
>>696
いやー自分の場合単純に.NETに疎いもんで…
3つ以上繋ぎ合わせる場合は$()の方が好き

>>678のリンク先の人が今度はWebDAVプロバイダ作ったみたいだよ
ttp://d.hatena.ne.jp/coma2n/20080226/1204007165
例によってソースコードだけなので自前でビルドする必要あるけど
698名無し~3.EXE:2008/02/28(木) 08:33:48 ID:A6zx9YaX
$_.ToString('file_000000')
699名無し~3.EXE:2008/02/28(木) 09:31:01 ID:zWJDHl5A
>>698
お、いいね!
\を付ければ"."も行けるみたいだ
0..100 | % { $_.ToString('file_000\.txt') }
%表記や3桁ごとに","で区切ることも出来るし、すごい便利じゃないかToString
700名無し~3.EXE:2008/02/28(木) 10:49:38 ID:vF8vRiRW
C#のFormatは呼べないのかな

String.Format("{0:D4}", 774) ==> "0774"
String.Format("{0:000000}", 893) ==> "000893"


それにしてもPowerShellはストレスたまる。
やりたいことと今自分が出来ることのギャップがありすぎる…
早くすらすら書けるようになりたいものだ
701名無し~3.EXE:2008/02/28(木) 12:31:20 ID:zWJDHl5A
>>700
それもアリだね、静的メンバにアクセスする時はこんな感じ
クラスの完全修飾名(System.は省略可)を[ ]で括って"::"を付ける
0..100 | % { [String]::Format("file_{0:D4}", $_) }
結構いろいろやり方あるもんだ(というかこうして見ると自分の方法だけえらい浮いてるな…)
702名無し~3.EXE:2008/02/29(金) 01:39:44 ID:DtU+597v
"{0:D4}" -f 774
703名無し~3.EXE:2008/02/29(金) 01:44:36 ID:MYE21105
.Netはコンソールで使うにはちょっと冗長すぎて
相性が悪いと思う。
Rubyみたいなのが良さそうに見える。
読みづらくて嫌いだが。
704名無し~3.EXE:2008/02/29(金) 07:02:47 ID:bHwMZiro
>>702
-f演算子すっかり忘れとるorz
こうして見るとSystem.Stringのメソッドは糖衣構文用意する方向で進んでるんだな
>>703
そろそろOSS界隈でもそういうの出てきて欲しいね
705名無し~3.EXE:2008/02/29(金) 07:57:17 ID:MYE21105
てか最近Rubyのシェルが出なかったけ。
ああ、これか。
http://rush.heroku.com/
Rubyは文法や思想的に嫌いだが短くかけて良さそうだな。
706名無し~3.EXE:2008/02/29(金) 09:12:39 ID:izsF5Hso
どっちもちゃんと使った事が無いのがよくわかる意見だね
707名無し~3.EXE:2008/02/29(金) 15:57:26 ID:9rXKNg8r
Managing INI files with PowerShell
http://www.leeholmes.com/blog/ManagingINIFilesWithPowerShell.aspx

なぜMSはINIファイルという神機能を.NETからはずしてしまったのか。
もしあったら標準でガシガシ使えるのにな。
708名無し~3.EXE:2008/02/29(金) 18:24:28 ID:2h3L96vK
>>707
INIファイルに原因があるわけじゃないけど、みんなINIファイルを実行ファイルと同じ位置に置いちゃうからなぁ

みたいな理由なんじゃないかな
709名無し~3.EXE:2008/02/29(金) 19:22:57 ID:T5clVhpd
いやXMLで吐くのが推奨になったからじゃね。
710名無し~3.EXE:2008/02/29(金) 20:53:02 ID:EnOB+hA8
>>707
例えばINIファイルの文字エンコードを何にすべきかとか、
キーに使える文字の制限とかみんな知ってればそれでいいんだけどな。

逆にみんな適当だと野良INIファイルとの相互運用が悲惨そうだ。
711名無し~3.EXE:2008/02/29(金) 21:20:49 ID:WQcm28+3
>>708
というかまあ、インストール不要を謳いたいがために使われてるような
712名無し~3.EXE:2008/03/01(土) 12:40:38 ID:Yp7Ku/YR
PowerShellスゲー

> $settings = [xml]"<settings><path></path></settings>"
> $settings.settings.path="c:\windows"
> $settings.settings.path
c:\windows
> $settings.Save("c:\data.xml")

> type c:\data.xml
<settings>
<path>c:\windows</path>
</settings>

> $x = [xml]"<dummy/>"
> $x.Load("c:\data.xml")
> $x.settings.path
c:\windows

PowerShellPlusもリアルタイムで .settings .pathを補完してくれるよ。
713名無し~3.EXE:2008/03/01(土) 20:28:06 ID:bOqKt2Oq
PowerShell(MSH)でシューティングゲーム(zで左、xで右、spaceで弾発射、qで終了)
ttp://www.proudlyserving.com/archives/2005/09/aliensmsh_a_mon.html
ttp://www.proudlyserving.com/aliens.html
内容も凝ってないし、CUIでシューティング作ろうってのはちょっと前にも見たけど
あのSetBufferContentsで実現させる根性がちょっと感動、3年前にこれってコア過ぎる
714名無し~3.EXE:2008/03/01(土) 21:59:25 ID:B0Y0bR37
Get-Command -noun "Service"

CommandType     Name    
-----------     ----                                  
Cmdlet          Get-Service        
Cmdlet          New-Service  
Cmdlet          Restart-Service                      
Cmdlet          Resume-Service      
Cmdlet          Set-Service              
Cmdlet          Start-Service                        
Cmdlet          Stop-Service      
Cmdlet          Suspend-Service          

Remove-Serviceは無いのか・・・  Newは在るのに?
715名無し~3.EXE:2008/03/03(月) 13:53:44 ID:hItnbS96
他プロセスの吐いたOutputDebugStringを受け取って垂れ流すスクリプトって簡単に書けたりしないですかね。
それをベースにプロセス限定したりメッセージをフィルタリングしたりというツールを作りたいんですが。
716名無し~3.EXE:2008/03/03(月) 16:35:15 ID:DQlpB3tv
>>715
DbMon.exeの標準出力を取ってくるとか?

全部自作するならDbMonはSDKにソースコードも付属してるっぽいので参考になるかも。
あとはこことか。
ttp://www7a.biglobe.ne.jp/~tsuneoka/win32tech/18.html
717名無し~3.EXE:2008/03/04(火) 00:18:30 ID:5EZZ5dK5
do { } while() と do { } until() があるのに
なんでwhile() { } があって until() { } はないのだろう。
無いからと言って誰も困らないだろうが。
718名無し~3.EXE:2008/03/04(火) 01:46:53 ID:ylJjvtBF
>>717
while () {} と until(){ }の2つにすればいいのに と思うのは漏れだけ?
until () { } = do {} while ()で
719名無し~3.EXE:2008/03/04(火) 02:09:49 ID:3u3kFG0z
ttp://d.hatena.ne.jp/ps1/20080224/1203857873
PowerShellてパーサが公開されてんだな。
エディタとか作りやすい?

ttp://powergui.org/index.jspa
とかどうなん?
720名無し~3.EXE:2008/03/04(火) 21:11:08 ID:ygMpF+K1
>>678のだとメール欄表示してなかったり本文表示できなかったりしてたので弄ってみた
ttp://updas.net/up/download/1204632581.zip
721名無し~3.EXE:2008/03/05(水) 12:18:21 ID:btMLBOZ6
PowerShellPlus 1.0.1.30
722名無し~3.EXE:2008/03/05(水) 23:40:24 ID:qwEfEqg5
あ、ps2ch.format.ps1xml古いまんまだ、Sourceフォルダに新しい方入ってるけども
723名無し~3.EXE:2008/03/06(木) 19:14:36 ID:mEgIEger
dir /a:d /s /b

gci -r | where{$_.Mode[0] -eq "d"} | %{$_.FullName}
何気に退化してるな・・・何が悲しくて文字判定しなきゃならんのかと。
もっとスマートにディレクトリを列挙できないのか。
724名無し~3.EXE:2008/03/06(木) 19:42:59 ID:Ui+5KcJP
filter b(){ $_.FullName }
filter ad(){ if($_.GetType().Name -eq "DirectoryInfo"){ $_ } }
ls -r |ad |b
上二つをprofileにかいといてさ
725437:2008/03/06(木) 21:13:47 ID:kpLaTG+1
>>723
それは既に俺が通った道だ!
>>438を参考にこんな感じで対処した
function dird ([String]$Target = $PWD, [String]$Pattern = "*", [switch]$AllDirectories) {
if ($Target -eq ".") { $Target = $PWD }
if ($AllDirectories) {
$sw = "AllDirectories"
} else {
$sw = "TopDirectoryOnly"
}
[IO.Directory]::GetDirectories($Target, $Pattern, $sw)
}

ところで誰か関数やスクリプトコマンドレットで位置パラメータ指定する方法知りませんか
726名無し~3.EXE:2008/03/06(木) 23:12:24 ID:a6TOx6oT
>>725
dir、lsは単なるエイリアスなんだから
dirを置換しても良いんでない?
727名無し~3.EXE:2008/03/06(木) 23:23:23 ID:kpLaTG+1
>>726
組み込みのエイリアスは変更・削除できないし、
重複してるコマンド名の判定優先順位の変更のしかたとか知らないのでまあ適当にd付けとけ、と
さすがにこういうコマンドで& ${Function:\dir}みたいな使い方はどうかと思うので
728名無し~3.EXE:2008/03/06(木) 23:28:53 ID:Ui+5KcJP
Remove-Item Alias:/dir -ErrorAction SilentlyContinue
で消してから付け直せば出来るよね。
俺はcd消して定義しなおしてるよ
729名無し~3.EXE:2008/03/06(木) 23:39:55 ID:QmX/ckDK
電卓的に使おうとすると最後に評価した値を参照できないのが面倒だな。
>1+2
3
>$@ * 10
30
なんてやりたいのに。
730名無し~3.EXE:2008/03/06(木) 23:43:37 ID:kpLaTG+1
オーマイガッ!
Remove-Item Alias:\slで
Alias was not removed because alias sl is constant and cannot be removed.
とかエラー出るから消せないもんだと早合点しちまってたぜっ
731名無し~3.EXE:2008/03/07(金) 10:57:57 ID:iUAeON7P
>>725
位置パラメータって、名前なしで位置だけで決まるパラメータって事?
何もしなくても名前なしでパラメータ指定できないか?
あるいは$argsってのもあるが。
732名無し~3.EXE:2008/03/07(金) 23:16:43 ID:21dRvFO9
>>731
あーごめん、そのままだと定義したときの引数の順番そのままだから
もっと自由に指定したいなって意味
733名無し~3.EXE:2008/03/08(土) 01:38:42 ID:Bu9KMwih
>>732
function f($x, $y, [switch]$s) { ... if ($s) { ... } ... }
なら、
PS > f -x 5 -y 6 -s
みたいに指定できる。もちろん順番も入れ替えられる。
734名無し~3.EXE:2008/03/08(土) 15:29:23 ID:JPhb1y4T
ログファイル用のフォルダをそれぞれ作成するために
$logs = dir *.log
md folder
cd folder
$folders = ($logs| % {$_.Name.split('.')[0]}) #ここかなり無駄がある
New-Item $folders -itemType direcotry #この瞬間が気持ちいい
で出来たけど 5行目で無理しちゃた
なんか良い方法ないですか?
dir | % { $_.BodyName }的な何かは在りませんよね?System.IO.FileName (だっけ?)あたりを使うと楽になりますか?
735名無し~3.EXE:2008/03/08(土) 15:43:52 ID:skmxabXE
ナゲーヨ
[System.IO.Path]::GetFileNameWithoutExtension($_)
736名無し~3.EXE:2008/03/08(土) 15:49:01 ID:myOjxMXk
>>733
コマンドレット作る時で言うPositionの設定を順不同でしたりしなかったりをやりたいんだ
関数じゃ無理でもスクリプトコマンドレットならできるかなという気もするんだけど
と思ったら2.0CTP入れてhelp探せば普通に見つかりました、ゴメンナサイ…
こうすればいいわけね
Cmdlet Get-Args {
Param ( [int]$num2, [Position(1)][int]$num1, [Position(0)][string]$str )
Process { "$str : $num1 : $num2" }
}
Get-Args "number" 12 -num2 34
737名無し~3.EXE:2008/03/08(土) 16:01:25 ID:myOjxMXk
>>734
それは普通に
$logs = dir *.log | % {$_.BaseName}
でいいんではなかろうか
738名無し~3.EXE:2008/03/08(土) 16:09:41 ID:JPhb1y4T
>>737
System.IO.FileInfoにもSystem.IO.DirectoryInfoにもBaseNameというプロパティは無かった
Frameworkのバージョンが違うとか?
MSDN覗いたけどそれっぽいプロパティ無いなぁ
http://msdn2.microsoft.com/ja-jp/library/system.io.fileinfo_members(VS.80).aspx
739名無し~3.EXE:2008/03/08(土) 16:26:09 ID:myOjxMXk
>>738
ScriptPropertyでもいいじゃないか
PSObjectだもの
740名無し~3.EXE:2008/03/08(土) 17:04:43 ID:JPhb1y4T
>>739
サンクス
http://d.hatena.ne.jp/newpops/20070630 個々の通りにやったら出来た
<ScriptProperty>
<Name>BodyName</Name>
<GetScriptBlock>
$fn = $this.Name
$fn.Remove($fn.Length-$this.Extension.Length -1,$this.Extension.Length+1)
</GetScriptBlock>
</ScriptProperty>
741名無し~3.EXE:2008/03/08(土) 18:45:25 ID:myOjxMXk
>>740
PowerShellではすべてのオブジェクトをPSObjectでラップしていて
PSObjectには既存の型情報以外にもPowerShell側で使いやすいように拡張されたメンバ(PSExtended)があって
その一つとして[DirectoryInfo]には拡張子を取り除いたファイル名を返すBaseNameプロパティがあり
そのページ探しても乗ってないよってことを言いたかったんだけども、結果オーライ!
742名無し~3.EXE:2008/03/08(土) 20:12:28 ID:JPhb1y4T
>>741
DirecotryInfoにもFileInfoにもBaseNameプロパティなんて無いよ
v 2.0 だと追加されてるのかな?それともなんか拡張とかインストールした?
743741:2008/03/08(土) 20:24:02 ID:9LQVXj6A
>>742
あ、ごめんIO.FileInfoの間違い
v1.0にはないのかー、もう一台v2.0だけ入れた方確認したけどBaseNameあったよ
結構こまいところで手が入ってるなw
744名無し~3.EXE:2008/03/08(土) 21:47:26 ID:wf5XfXrv
v2.0のtypes.ps1xmlにはBaseNameがこう定義されてた
<ScriptProperty>
<Name>BaseName</Name>
<GetScriptBlock>
if ($this.Extension.Length -gt 0){$this.Name.Remove($this.Name.Length - $this.Extension.Length)}else{$this.Name}
</GetScriptBlock>
</ScriptProperty>

今更だけどオブジェクトのプロパティを選りすぐりたいだけなら%{}使うよりselectの方が気持ち爽やか
745名無し~3.EXE:2008/03/09(日) 16:13:58 ID:HzIj5fd7
dir | group {$_.CreationTime.ToString("yyyyMM")} | % { md $_.Name; copy $_.Group -Destination $_.Name }
copyにこんな乱暴な渡し方しても予想通りに動いた、パラメータのバインディングってすごいな
groupってコマンドのエイリアス列挙くらいにしか使えないじゃんとか思ってたのが間違いだったわ
746名無し~3.EXE:2008/03/13(木) 23:01:39 ID:/2htblsl
 
747名無し~3.EXE:2008/03/14(金) 21:18:11 ID:rkIt/LGu
全ファイル列挙しようとしたら

PS D:\> dir -Recurse -Force | select fullname > hoge.txt
Get-ChildItem : パス 'D:\System Volume Information' へのアクセスが拒否されました。
発生場所 行:1 文字:4
+ dir <<<< -Recurse -Force | select fullname > hoge.txt

これは仕方ないのですか?
OS:Vista
748名無し~3.EXE:2008/03/15(土) 00:31:13 ID:HWBlbljQ
>>747
それは仕方のないことではなく、当然のこと。
デフォルトだとSYSTEM権限でのみアクセス可能。
ふつうアクセスしないし、する必要もない。アクセスしたいならACLをいじる。
ACLはエクスプローラ上からやるのが一番楽。PowerShellからはたぶん出来ない(出来ても面倒)。

749名無し~3.EXE:2008/03/15(土) 00:45:02 ID:NDMDFYBB
エラー出るのが鬱陶しいだけなら、
-ErrorAction SilentlyContinue
を最後に足せば良いよ
750名無し~3.EXE:2008/03/15(土) 01:14:00 ID:iHFdXwZ/
ちなみに>>725をcmdletとして定義すれば-ErrorAction他共通パラメータも使えるずぇ
751747:2008/03/15(土) 06:07:22 ID:7WidlZe8
ありがとうございます。

dir -Recurse -Force -ErrorAction SilentlyContinue | select fullname > hoge.txt

これでいきます。
752名無し~3.EXE:2008/03/15(土) 22:11:33 ID:EqVJzOzH
function dir2{
dir $args
}

dir2 C:\
これはOK

dir2 -recurse
これはNG
どうしたらいいんすか?
753名無し~3.EXE:2008/03/15(土) 23:19:14 ID:O/K1JWQS
>>747
 PowerShellだけなら仕方がない。
 runassysからPowerShellを起動すればいいだろうけど。
754名無し~3.EXE:2008/03/16(日) 07:48:35 ID:CawtUaGs
755名無し~3.EXE:2008/03/17(月) 01:53:20 ID:W3u8hNHz
また蒸し返して馬鹿さらすのか。
756名無し~3.EXE:2008/03/17(月) 20:19:24 ID:RPM/vvMP
デスクトップ検索のインデックスををGet-ChildItemやResolve-Pathで利用できればいいのになーとかふと思った
実現方法なんて知りませんよ?
757名無し~3.EXE:2008/03/17(月) 20:28:51 ID:6h0E5rZ0
インデックスサービスにはCOMインターフェイスがあるけど
MSNやVistaの検索ってあるのかな?
758名無し~3.EXE:2008/03/17(月) 21:42:32 ID:/2cRYZBp
複数のコマンドを同時に走らせるにはどうやればいいのですか?
コマンドを入力したあと(終了を待たずに)すぐにプロンプトに戻って次のコマンドを鬱にはどうすればいいのですか?
bashなどで
./hoge && ./hogera

./hoge &
./hoge &
...
といったようなことがしたいのです
759名無し~3.EXE:2008/03/17(月) 23:09:24 ID:5r1UgqVm
vistaだとAPIに組み込まれたみたいだし、なんか出来そうな気がする
Get-ChildItemに-Searchオプション付けるとかでもいいけど、そのままずばりSearch-Itemとか

>>758
2.0ならStart-Job、1.0ならこういうのでどないでしょ
ttp://flamework.net/archives/3
760名無し~3.EXE:2008/03/18(火) 06:24:24 ID:kTjDGgs1
もうちょっと簡潔かつ分かりやすく書けないかな。
引数で渡されたフォルダ配下のフォルダ毎のディスク使用量を出す

function goukei([string]$tgtDir){
if($tgtDir -eq ""){
$tgtDir = pwd
}

filter goukei_f{
$folder = $_.FullName
$sum = (dir -literalpath $_.FullName -recurse -force -erroraction silentlycontinue |
measure-object Length -sum).Sum
#フォルダ名(フルパス)、合計サイズを出力
"$folder,$sum"
}

dir $tgtDir -recurse -force -erroraction silentlycontinue |
? {$_.PSIsContainer} | sort FullName | goukei_f
}
761名無し~3.EXE:2008/03/18(火) 09:34:06 ID:ahlghMa6
>>760
Get-ChildItem -recursive $tgtDir | Measure-Object -property Length -Sum
762名無し~3.EXE:2008/03/18(火) 14:10:12 ID:0Jn9Qb2v
インデックスサービスで検索するやつを適当に作ってみた

----------
function search-index ([string]$Name)
{
if ($Name -eq "")
{
return;
}

$connection = [System.Data.OleDb.OleDbConnection]"Provider=MSIDXS;
Data Source=""System"";";
$command = [System.Data.OleDb.OleDbCommand]"SELECT Path From SCOPE()
WHERE CONTAINS(Filename, '""$Name""')";
$command.Connection = $connection;

$connection.Open();
$datareader = $command.ExecuteReader();

while ($datareader.Read())
{
Write-Output([System.IO.FileInfo]$datareader.GetValue(0).ToString());
}

$datareader.Close();
$connection.Close();
}
----------
search-index "ファイル名の一部"
って実行するとgciみたいに結果が表示される
763名無し~3.EXE:2008/03/18(火) 14:44:55 ID:HojSQ7FT
(Get-ChildItem $this.Fullname -recurse $tgtDir | Measure-Object -property Length -Sum).Sum
などとtypes.ps1xmlにScriptPropertyとして登録しておけばあっという間にCUI版Folder Sizeの完成だが
これを深い階層/大量のファイルを持つディレクトリで使うとGet-ChildItemが尋常でない遅さになるという諸刃の剣・・・っ!

いやprofileに有効無効制御するフラグ作ればいいだけなのですが
764名無し~3.EXE:2008/03/18(火) 21:27:52 ID:/IVy1+aU
>>762
へー、.NETに組み込まれてんだね
4.0辺りでSystem.Searchみたいなクラス作ったりはないか
765名無し~3.EXE:2008/03/18(火) 21:54:05 ID:qNgIQj6H
>>764
OleDbプロバイダが提供されてるからADO.NETでアクセスできるだけ。
766名無し~3.EXE:2008/03/18(火) 23:34:58 ID:/IVy1+aU
>>765
COMオブジェクト作ってなんかやるんかなとか思ってたんだ
767760:2008/03/19(水) 00:08:36 ID:qLwWbzex
フォルダ毎に合計を出したいので>>761では駄目です
768名無し~3.EXE:2008/03/19(水) 00:37:11 ID:SpSFuIdR
>>767
Get-ChildItemにサイズ表示させたいサブディレクトリのパス渡せばいいだけじゃん
>>725でも使ってあげて
769名無し~3.EXE:2008/03/20(木) 00:00:55 ID:LBqpb6Dp
適当に検索してたらWDS3.0もSystem.Data.OleDbから使えるみたいだね
Coding4Fun : Searching the Desktop
ttp://blogs.msdn.com/coding4fun/archive/2007/01/05/1417884.aspx
俺には全く意味が分からないけどな!
770名無し~3.EXE:2008/03/20(木) 08:36:04 ID:M0PaJWPS
誰かver1.0用のOut-GridView作って
771名無し~3.EXE:2008/03/23(日) 14:37:48 ID:MKLXhZ5f
772名無し~3.EXE:2008/03/23(日) 14:55:53 ID:kmflR3aM
>>771
これは参考になりそう。Thanks!
773名無し~3.EXE:2008/03/24(月) 09:22:03 ID:d01dt14u
ディレクトリの古いファイルを整理したいので、

 md old
 $list = dir | sort LastWriteTime
 move $list[0] old

とやったのですが、ファイル名にスペースが含まれているとうまくいかないようです。

これって何とかなりませんでしょうか?
774名無し~3.EXE:2008/03/24(月) 17:20:42 ID:MPiJHNZX
$list[0] | move -dest old
775名無し~3.EXE:2008/03/24(月) 18:49:34 ID:anwcmRC3
文字列を変数で渡す場合は中にスペースあっても問題ないはずだけどなぁ・・・
というか自分の環境だと問題ないのだが。。。
>>145みたいなことがあるから、単一のファイル名を渡したいときは-LiteralPathの方が紛れは少ない
それはそうと時間別ファイル整理なら>>745を押し売りしてみるテスト
776名無し~3.EXE:2008/03/24(月) 23:36:21 ID:d01dt14u
>>774

それでいけました。ありがとうございます。
777名無し~3.EXE:2008/03/28(金) 21:39:39 ID:0ZDRep5n
PowerShell Commands for Active Directory by Quest Software
ttp://www.quest.com/powershell/activeroles-server.aspx
778名無し~3.EXE:2008/03/28(金) 22:31:36 ID:4sfcwWKd
>>777
うぉパーティションマジックのQuestってまだ生きてたんだ!
って別の会社だよね...
779名無し~3.EXE:2008/03/30(日) 20:00:17 ID:j46bElaO
スクリプトを実行ファイルに変換する何かってあるのかな?
あってもやっぱしAutomation.dllとかないとPowerShell入ってない環境じゃ駄目か
780名無し~3.EXE:2008/03/31(月) 07:30:58 ID:qyqJGQdS
>>779
.NETからスクリプトを呼び出すのは簡単なので、実行ファイル化は難しくない。つーか30分で作れる。

実行にPowerShell.exeは必要ないが、その他のdllは必要。
System.系だからVisualStudioで作れば一緒に配っていいんじゃないの?ライセンス見てみなよ。
781名無し~3.EXE:2008/03/31(月) 14:39:39 ID:NDmZmWVH
結局そういうものはC#で作った方が早いという(ry
782名無し~3.EXE:2008/03/31(月) 17:52:29 ID:QLPf92Nx
>>780-781
や、自分にそんな腕はねーです
配布はしないけどUSBメモリに入れて持ち運んだりできるといいなと
まあ.NET2.0が入ってること前提ですが
783名無し~3.EXE:2008/03/31(月) 17:53:38 ID:F7wQq4Jo
スクリプトのバイナリ化って結構需要あるんだよな。
784名無し~3.EXE:2008/03/31(月) 20:48:04 ID:Ra0SLpc1
スクリプトを実行ファイルに変換する意味ってあるのかな?
785名無し~3.EXE:2008/03/31(月) 21:21:48 ID:eySMidLv
PowerShellでかけるならC#でも大して変わらん手間でかけると思うけどなー

exe化したいというより、ポータブルな実行環境がほしいって事だよな
786名無し~3.EXE:2008/03/31(月) 21:22:22 ID:yUN0vL9h
速くなる。


(こともある)ような気がする。あと、コード盗まれないように、とか。
787名無し~3.EXE:2008/03/31(月) 21:52:51 ID:5NUFajom
速くもならないし難読化もされない。
それらが目的ならするだけ損。
788名無し~3.EXE:2008/04/01(火) 01:24:37 ID:C4DxbD3n
11著「Windows PowerShellポケットリファレンス」4/11発売
はどう?
789名無し~3.EXE:2008/04/01(火) 20:18:24 ID:1NJQui+8
どうっていわれてもまだ売ってないじゃん……
俺はリファレンスなら要らないな
790名無し~3.EXE:2008/04/04(金) 02:52:43 ID:MzK5ebOG
ttp://axion.sakura.ne.jp/blog/index.php?UID=1189067351

#New-Objectした場合
New-Object System.Xml.XmlDocument
#New-Objectして変数に代入、Loadした場合
$x = New-Object System.Xml.XmlDocument
$x.Load("test.xml")
$x
#Loadメソッド呼ぶ前に中身を確認した場合
del variable:x
$x = New-Object System.Xml.XmlDocument
$x
$x.Load("test.xml")
$x
[xml]$x

New-Object直後のオブジェクトはpsbaseのプロパティが表示される上に、それを確認した後Loadすると、
型変換しない限りずっとpsbaseのプロパティが表示され続ける・・・分かってればたいしたことではないけど。
791名無し~3.EXE:2008/04/07(月) 07:20:21 ID:lQNHLGaB
 
792名無し~3.EXE:2008/04/08(火) 01:40:20 ID:dpjg7U6n
*.Format.ps1.xmlで定義されてる奴はselectの-ExcludeProperty無効になるんかね
ttp://www.microsoft.com/japan/technet/scriptcenter/topics/msh/cmdlets/get-wmiobject.mspx
Get-WmiObject win32_bios | Select-Object * -excludeproperty "_*"
は成功するけど
dir | select -ExcludeProperty Name
ps | select -ExcludeProperty Handles
は駄目っぽい

793名無し~3.EXE:2008/04/08(火) 10:19:36 ID:WZeUBlMZ
>>792
dir | select * -ExcludeProperty Name
ps | select * -ExcludeProperty Handles
794名無し~3.EXE:2008/04/08(火) 10:56:39 ID:rklY+Ib6
>>793
d、一度全部選ばないといけないのか、ううーむ
795名無し~3.EXE:2008/04/08(火) 13:32:45 ID:rklY+Ib6
Pash
PowerShell open source reimplementation for "others"
(Mac, Linux, Solaris, etc...) and Windows (including Windows Mobile and Windows CE)
http://pash.sourceforge.net/
The current implementation of Pash is written using pure .Net 2.0.
It compiles on VS 2008 as well as on Mono.

Monoで動くPowerShell互換シェル作ってるみたい
796名無し~3.EXE:2008/04/08(火) 18:23:47 ID:uY+7n3/J
797名無し~3.EXE:2008/04/08(火) 21:05:47 ID:ESQ9cWmz
Microsoft SQL Server PowerShell
798名無し~3.EXE:2008/04/12(土) 12:26:49 ID:coifsEmW
ポケットリファレンス見てきた。
中をパラパラ見てたらオタクっぽい挿絵が・・・
買うの止めた。
キモイ趣味を押しつけるのは止めて欲しい。
799名無し~3.EXE:2008/04/12(土) 13:40:09 ID:3Ebu+tQA
そんな事を言っていたら古典的名作の小説が萌絵の表紙、挿絵で販売させる
今の日本でこの先生きのこるのは難しい。

ところでどうしてPowerShellの字面は
動詞 名詞
の順なの?.NETのメソッドを呼ぶ際の
名詞.動詞
と入り乱れて激しく気持ち悪い。
単に外部コマンド呼び出しとの見た目を揃えたってことなのかな。
800名無し~3.EXE:2008/04/12(土) 13:56:34 ID:8hNmnAqc
.NETのはオブジェクトにメッセージ送ってるわけだから
コマンドレットとは全然違う

同じだったらかえっていやだ
801名無し~3.EXE:2008/04/12(土) 14:31:51 ID:WtmCzTrv
>>799
. の意味理解しようよ。
802名無し~3.EXE:2008/04/12(土) 15:24:31 ID:KfwDFoBV
>>797

どこにあるの?SQL*Plusみたいなもん?
803名無し~3.EXE:2008/04/12(土) 16:08:39 ID:coifsEmW
>>802
SQL Server 2008
804名無し~3.EXE:2008/04/12(土) 17:20:28 ID:MLoBry8I
IBM WebSphere MQ PowerShell
VMware VirtualCenter PowerShell
Citrix Delivery Center PowerShell
が、その内追加されます
805名無し~3.EXE:2008/04/15(火) 14:58:05 ID:iV3uGB+a
Get-Enjoyコンテスト結果発表だってさ。
http://d.hatena.ne.jp/newpops/20080415
お前らスクリプト送ったか?俺は送ったぞ。
送っただけだったがw
806名無し~3.EXE:2008/04/15(火) 16:03:20 ID:8VJfTxH8
>>805
ほしいものないなw賞品のほうならほしいがw
807名無し~3.EXE:2008/04/15(火) 20:08:07 ID:iV3uGB+a
デジカメもスーツケースもいらんw
808名無し~3.EXE:2008/04/15(火) 20:23:08 ID:k+hA5L4M
2月下旬に発表って言ってたのがやっと来たのか、ネタが思いつかなかった

それはそうとIISのプロバイダ
IIS 7.0 PowerShell Provider Tech Preview 1
ttp://blogs.iis.net/thomad/archive/2008/04/14/iis-7-0-powershell-provider-tech-preview-1.aspx
809名無し~3.EXE:2008/04/16(水) 12:01:34 ID:+Ix39Ssv
受賞作品の「ネットワークプリンタの追加」ってやつ、ひっでーな。
しかも、特定環境に依存してたから選考委員が汎用に作り直したんだって?
あれでカメラもらえんの?

つーか、よっぽど応募少なかったんだな。
落ちた俺、涙目。
810名無し~3.EXE:2008/04/16(水) 12:05:50 ID:+Ix39Ssv
ちなみに↑のソースの実効部分ね。
全48行のうち、これ以外は単なるコメント。

$wsNet = New-Object -Com WScript.Network
function ConnectNetworkPrinter([String]$printerName)
{
$wsNet.AddWindowsPrinterConnection($printerName)
}
function RemoveNetworkPrinter([String]$printerName)
{
$wsNet.RemovePrinterConnection($printerName)
}
811名無し~3.EXE:2008/04/16(水) 12:15:57 ID:ZFpXQVPJ
>>810
ワロタ
812名無し~3.EXE:2008/04/16(水) 12:19:12 ID:ZFpXQVPJ
ていうか、これに負けるってお前どんなの出したんだよ?
813名無し~3.EXE:2008/04/16(水) 12:24:04 ID:ZFpXQVPJ
他人のソースを勝手に貼り付けたら、普通は著作権が気になるところだが。うーん、著作部分は関数名と変数名くらいだな。
814名無し~3.EXE:2008/04/16(水) 13:03:15 ID:KGieNCXb
いや、実はVBScriptだと何千行もあるソースだったのに
PowerShellに書き直したらたったの10行で!!
みたいなことじゃないの
まぁ、VBScriptのを応募した人にしかすごさが伝わらないけど
815名無し~3.EXE:2008/04/16(水) 13:49:38 ID:B2Y/Kcig
>>814
>>810をよくみろ
816名無し~3.EXE:2008/04/16(水) 14:20:55 ID:KGieNCXb
あ、COM使ってるだけなのか
じゃあvbsでもほぼ同じ行数か
確かにこれに負けるって切ないな
817名無し~3.EXE:2008/04/16(水) 15:23:36 ID:+Ix39Ssv
2月発表のはずがここまでずれこんだのって
すっげー低レベルな争いだったんだな・・・
賞を与えるにふさわしいスクリプトを選ぶんじゃなくて
どのドングリに賞をこじつけたら結果発表のページに
一番もっともらしい理由が書けるかっていう・・・

実際のところいくつ応募が来たのか聞いてみたいところだな。
やっぱパワーシェルっていらん子なのか?
まあでもネットワークプリンタ云々以外の受賞作品はまだ納得できるよ。
デリゲート超便利。
818名無し~3.EXE:2008/04/16(水) 21:24:36 ID:mAp4Etbp
何が切ないって、Hey, Scripting Guy!にそっくりそのままVBSでのやり方が載ってる辺り
まあ俺はPowerShell知るまでCOMなんて全く知りませんでしたが
819名無し~3.EXE:2008/04/16(水) 23:50:56 ID:Ggp6LqRr
今日マイクロソフトのイベント行ってきたけど、
いろんなサーバーの管理に使えるようになる
みたいだから、管理者の間には広まるんじゃないかな。

同じ設定を繰り返しGUIでやるのとか面倒だからね

それ以外の用途で流行るかどうかは謎
820名無し~3.EXE:2008/04/17(木) 03:28:15 ID:qInVIuiO
コンテストの作品見ても明らかにそれ以外の用途で流行ってる
もちろん管理ツールとしても不動の地位を築きつつあるけど
821名無し~3.EXE:2008/04/17(木) 08:13:37 ID:KFJbdCdh
スクリプト言語としてかなり面白い。
あとはコマンドラインシェルが、ZSHとは言わないがBASH並みに使いやすくなってくれれば…。
インクリメンタルサーチが欲しい。
822名無し~3.EXE:2008/04/17(木) 13:10:45 ID:wVkHtSHi
受賞者って匿名なの?
受賞者より選考委員のほうが目立ってるのはどういうこと?
実在するの?
選考委員が作ってるんじゃないの?
823名無し~3.EXE:2008/04/17(木) 13:29:00 ID:KK1lLAWx
>>822
とりあえずネットワークプリンタ以外の受賞者はこのスレのリンク探せば見つかる
824名無し~3.EXE:2008/04/17(木) 21:38:13 ID:0VS+wD7c
825名無し~3.EXE:2008/04/19(土) 11:12:57 ID:HirQTk9x
受賞者が自分で公表するものなんだね
826名無し~3.EXE:2008/04/23(水) 04:41:14 ID:1jHm9pTb
Get-Content に -Wat なんてパラメータがある件。
しかもヘルプに載ってないし。
Get-Command の出力と in Action の P313 にはあるみたい(日本語版は360)。
windows powershell Any command like the tail -f from unix/linux to open log-files
http://www.eggheadcafe.com/software/aspnet/30168576/any-command-like-the-tail.aspx




・・・いや書いとけよ!
827名無し~3.EXE:2008/04/23(水) 04:43:29 ID:1jHm9pTb
しまった -Wait だったorz
828名無し~3.EXE:2008/04/23(水) 21:59:31 ID:aJ9ihgZR
PowerShellではIEのBeforeNavigate2などのイベントハンドラは
どんなふうに書くのでしょう?
829名無し~3.EXE:2008/04/24(木) 07:01:12 ID:Yc225EBk
手順1 VisualStudioをインストール
手順2 SDKのフォルダ内からTlbImp.exeを探し出す
手順3 WINDOWSフォルダからShdocvw.dllを探し出す
手順4 TlbImpを使ってShdocvw.dllを変換(例 TlbImp Shdocvw.dll /out:ほげほげ.dll)
手順5 変換して出来たアセンブリを読み込む(例 [System.Reflection.Assembly]::LoadFrom(C:\ほげほげ.dll))
手順6 アセンブリ名.WebBrowserClassをNew-Objectする(例 New-Object)
手順7 Get-Memberするとadd_BeforeNavigate2メソッド出現

ウマー(゚д゚) いやもしかしたら普通にNew-Object -ComObject InternetExplorer.Applicationでも出来るのかも知れんけど
830名無し~3.EXE:2008/04/25(金) 01:49:11 ID:kFxx41PP
>>829
やるならInternetExplorerClass(IEで起動)かShellBrowserWindowClass(規定のブラウザで起動)だな
($a = New-Object ie.InterNetExplorerClass).visible = $true
$e = New-Delegate ie.DWebBrowserEvents2_BeforeNavigate2EventHandler {$a.Quit()}
$a.add_BeforeNavigate2($e)

こんな感じで確かにイベントをハンドル出来てる、けどNew-Delegateに渡すスクリプトブロックによってはPowerShellが落ちる
この辺よく分からんのでまぁ828の方で検証して
831名無し~3.EXE:2008/04/25(金) 10:50:30 ID:jB5f/afj
System.Windows.Forms.WebBrowserがIEのCOMをラップするクラスだが、
STAモードでないと動かないようになってる。
つまり、ラップクラスがそういう仕様になってるってことは、
IEをCOMから使うにはSTAモードで使えってことだね。

>>830
New-Delegateなんてコマンドレットがあったのかよと思ったら、
標準じゃないのか。
832名無し~3.EXE:2008/04/25(金) 20:37:09 ID:DfNxnr2J
>>831
うん例のコンテスト受賞作のやつ、上でも話題になってるしまあ説明抜きでもいいかなと
STA要求してるわけね、通りで複文だと落ちる確率が増すわけだ(毎回スレッド変わるから)

ってそんなとこよりおまいら、v2.0のCTP2がcoming soonですよ!
http://blogs.msdn.com/powershell/archive/2008/04/24/how-could-you-top-ctp1.aspx
> Can you imagine what you'd be able to do with transactional cmdlets!!!
Transactional NTFS キタ━━━━━(゚∀゚)━━━━━!!
やっべ超やっべ、これだけのためにVistaに乗り換えたいくらいだ
リモーティングがVistaと2008だけのサポートになったのはどうせ自分のXP機じゃ機能してないからどうでもいいと強がれるけど
まったくPowerShellはたいしたキラーアプリだぜフゥハハハー
833名無し~3.EXE:2008/04/30(水) 00:12:38 ID:IvjSN/rT
Get-ChildItemのヘルプ見てたら、-excludeのところで
このパラメータは、このコマンドレットでは正常に機能しません。
って記述があるけど、普通に使えるてるし、なんじゃこりゃ?
834名無し~3.EXE:2008/04/30(水) 10:09:05 ID:QR9g4cCe
-Recurse と一緒に使った時に挙動がおかしい。
835名無し~3.EXE:2008/04/30(水) 11:08:59 ID:Rmaql+iD
あー確かにサブディレクトリ内のディレクトリは別々に列挙される上にファイル群も別だな
dir -re -ex *.txt | group { if ($_.PSIsContainer) { $_.Parent.fullname } else { $_.DirectoryName } | % { $_.group }
別に-exclude自体は有効だけど表示がおかしいって事か
836名無し~3.EXE:2008/05/01(木) 10:52:22 ID:2nBfqQnj
Windows PowerShell 1.0 がインストールされる場合、
Windows ベースのオペレーティング システムはアップグレードできません。
ttp://support.microsoft.com/kb/950376/
Windows Vista
Windows Server 2003
Windows XP
837名無し~3.EXE:2008/05/01(木) 22:45:35 ID:nvEFWhPW
なんじゃそら
838名無し~3.EXE:2008/05/01(木) 22:54:00 ID:svkvIN6a
>>829
Visual Studioの代わりにWindows SDKでも可。
どっちも巨大だからダウンロードが面倒なことにあまり変わりはないけど。
839名無し~3.EXE:2008/05/02(金) 00:17:44 ID:DxPxKLcl
あんま関係ないけど取得したCOMにあるはずのメンバーにアクセスできない時のもう一つの方法
System.__COMObjectにリフレクションで無理やり呼び出すメソッドを追加して呼び出す、こっちならTlbImp必要なし
ttp://abhishek225.spaces.live.com/Blog/cns!13469C7B7CE6E911!165.entry

つかCTP2のお披露目終わったんだからさっさとリリースしろよ
840名無し~3.EXE:2008/05/03(土) 12:20:42 ID:Kmu6iTzy
841名無し~3.EXE:2008/05/03(土) 19:12:37 ID:LhbW/60q
やっと来た・・・ここ数日深夜がんばったのに寝た瞬間来るとか・・・
842名無し~3.EXE:2008/05/03(土) 19:16:02 ID:LhbW/60q
ちょ、イベント操作系もXP非対応とかwwwwww俺涙目wwwwwww
843名無し~3.EXE:2008/05/03(土) 20:39:16 ID:LhbW/60q
うひょ、STAで起動するオプションが付いてる
関数も|の直後でもタブ補完利いたり細かいところがよくなってるな
graphical powershellもだいぶ進化した感じ
844名無し~3.EXE:2008/05/04(日) 10:10:56 ID:S7ZeL0xg
しかしPSって流行らんな
845名無し~3.EXE:2008/05/04(日) 11:00:20 ID:98HqkhcE
今時分CUIツールが18ヶ月でDL数200万越えなら十分でしょ
VBAの後継は動的言語に回帰するって言うVB.NETなんかな
846名無し~3.EXE:2008/05/06(火) 12:24:38 ID:z5qD9mp2
847名無し~3.EXE:2008/05/06(火) 22:01:05 ID:PLfUIsc4
このペースだと2.0正式版はいつ頃?
当てた人に抽選で我が家の使ってないものプレゼント。
848名無し~3.EXE:2008/05/06(火) 23:34:20 ID:6vJ9emFC
PDCかWinHEC辺りでβが出れば万々歳
なんかGet-Memberした時にMemberTypeでEventが表示されるようになってる
849名無し~3.EXE:2008/05/07(水) 22:31:37 ID:X11sQLgt
>>835
豆知識
Get-ChildItem -Path * -Exclude *.txt とすると一階層だけ下のサブディレクトリのファイル・ディレクトリも列挙してくれる
-Pathの代わりに-Includeを指定するか単に-Excludeだけ指定すると本来予想される挙動を示す
850名無し~3.EXE:2008/05/08(木) 08:30:38 ID:cIlggvaZ
要約
Windows PowerShell V2 CTP 2 が公開されました
ttp://blogs.technet.com/stanabe/archive/2008/05/07/windows-powershell-v2-ctp-2-released.aspx
851名無し~3.EXE:2008/05/08(木) 22:38:19 ID:zOoqtumw
powershell -sta とか gpowerhsell.exe 使えばWPFのウインドウも普通に出せるようになったけど
対話的にウインドウの内容を書き換えるのは無理なんかね
852名無し~3.EXE:2008/05/09(金) 12:03:35 ID:z4JK9NGG
>>851
別スレッドを使えばいいんじゃないの?
WPFじゃなくて悪いけど、こんな感じ。

$form = New-Object System.Windows.Forms.Form
$delegate = New-Delegate System.Threading.ThreadStart {$form.ShowDialog()}
$thread = New-Object System.Threading.Thread($delegate)
$thread.SetApartmentState('STA')
$thread.Start()

for ($i = 0; $i -lt 100; $i++) {$form.Left = $i}
853名無し~3.EXE:2008/05/10(土) 00:50:42 ID:ORYZJQJF
>>852
2.0 CTP以前だと通るのかな?CTP2だと通常起動(MTA)でもSTAでも(まあこれは当然として)$thread.Start()のところで落ちる

ttp://huddledmasses.org/wpf-from-powershell-updating-windows/
これのdemo-wpf4.ps1、大学のPCだと普通に動いたのに家のだと
$script:cpu = new-object System.Diagnostics.PerformanceCounter "Processor", "% Processor Time", "_Total"
$script:ram = new-object System.Diagnostics.PerformanceCounter "Memory", "Available KBytes"
のところで怒られるのは何故だろう・・・
854名無し~3.EXE:2008/05/10(土) 17:49:25 ID:psJheK3P
>>853
CTP2でやったけどそこじゃ落ちない。フォームを閉じると落ちるけどな。
855名無し~3.EXE:2008/05/10(土) 21:28:38 ID:GZCZ+SAY
>>854
アセンブリ読み込むの忘れてたorz 確かにWinFormsならできるんだなぁ
856名無し~3.EXE:2008/05/13(火) 07:48:51 ID:2BRQvcfN
多次元配列やジャグ配列の作り方良く忘れるから備忘録

基本は完全修飾名("System."だけは省略できる)にブレース付けて、-ArgumentListに引数を渡す
New-Object -TypeName system.int32[][] -ArgumentList 3,4

型名を引用符で括って明示的に文字列として渡さないと文法エラーになるもの(おそらく多次元配列のカンマ)もある
New-Object -TypeName system.int32[,] -ArgumentList 3,4 ←エラー

型エイリアスは本体と一対一の関係なので、派生系は表現できない
New-Object -TypeName int[][] -ArgumentList 3,4 ←エラー

まあ、2つ目と3つ目を良く忘れて何度もドツボに嵌まるわけですよ
作る必要もないとは思うけど 型[][,] とかの場合はどう書けばいいんだろ
857名無し~3.EXE:2008/05/14(水) 13:32:38 ID:uX0VCaRV
Add-Typeにはこういう使い方もあるんだ!
http://dougfinke.com/video/CSharpToPowerShell..html
858名無し~3.EXE:2008/05/16(金) 01:32:32 ID:kRAEUXuC
859名無し~3.EXE:2008/05/16(金) 11:39:12 ID:pdzY5jAs
これのgwmiをリモートコンピュータに行うのってドメイン環境じゃないとダメなん?
860名無し~3.EXE:2008/05/18(日) 15:34:01 ID:LJjyRf4m
一台しか使ってないトーシロなもんでよくわかんねっす
Windows PowerShell Scriptomatic
http://www.microsoft.com/downloads/details.aspx?FamilyID=d87daf50-e487-4b0b-995c-f36a2855016e&DisplayLang=en
861名無し~3.EXE:2008/05/20(火) 13:29:42 ID:nCKI+jPY
ワークグループだからかは知らないけどできなかった。
PS >(Get-WMIObject Win32_ComputerSystem).PartOfDomain
False
PS >Get-WmiObject Win32_BIOS -ComputerName server
アクセスが拒否されました。 (HRESULT からの例外: 0x80070005 (E_ACCESSDENIED))

どうでもいいけどUNCパスがTab補完できるって便利だね。
862名無し~3.EXE:2008/05/20(火) 15:09:31 ID:PFhDETFy
>861

でけーた。

-credentialかけてて、いまいちうまくいかなかったので
相手先のマシンと自分のマシンに同じID/PASSのアカウントを作成し
リモート元はその作ったアカウントでログインしたらOK

細かいこと言えばそれ以前にGuestForce=0だとかこまごまやってるけど
大まかに上記でいけちゃいました。

あと、-credentialで通した場合、Win32_BaseBoardはいけるんだけど、Win32_Processがダメとか…。
名前領域に対しては権限振ってあるんですけどねぇ。
863名無し~3.EXE:2008/05/20(火) 16:59:47 ID:nCKI+jPY
>>862
あー、-Credential忘れてたわーあははー。
こっちはそれだけで特にどのクラスも問題なく行けました。
864名無し~3.EXE:2008/05/20(火) 18:27:42 ID:PFhDETFy
>863
ちなみに-credentialかけていけない時のエラーはこちら
0x80070005 (E_ACCESSDENIED)
ハラタツノリですね。

そちらはいけましたか…
ボンミスの匂いがしますので時間のある時にちょこちょこ調べてみます。
865名無し~3.EXE:2008/05/20(火) 19:45:28 ID:aFd/Y7w0
>>864
まあ性善説の名の下にノーガードで好き放題になってるネットワークなので。
一度WSHの方で試して成功するか試してみては?
使ってるコンポーネントは同じなはず。
866名無し~3.EXE:2008/05/23(金) 10:06:42 ID:PDPKp9f2
WebClientの非同期ダウンロードで
進捗状況をDownloadProgressChangedイベントで取得しようとしてるんだけど
---
$filename="ファイル名"
$url="接続先URL"
$wc = New-Object System.Net.WebClient
$wc.add_DownloadProgressChanged({$Host.UI.RawUI.WindowTitle=$_.ProgressPercentage})
$wc.DownloadFileAsync($url,$filename)
---
こんなコードだとDownloadProgressChangedイベント発生時にPSごと落ちちゃう
# イベント処理部分は何にしても(それこそ空{}にしても)同じ状況

PowerShell側の問題なのかNET側なのか
根本的になんか勘違いしてるのかの切り分けができずもうわけわかめ
867名無し~3.EXE:2008/05/23(金) 11:24:00 ID:k316ELqc
コンセプトは好きなんだがなかなかすらすら書けるようにならない・・・
たまにちょこっと使うシェルスクリプトがここまで重量級になることに矛盾を感じるぜ。

cookieに進捗を保存しておいて開くたびに新しいサンプル表示してくれるサイト作ってクレクレ
868名無し~3.EXE:2008/05/23(金) 13:26:56 ID:7UBT1rhT
>>866
>>830-831辺りと似たような理由なんで無いの
こんな感じで大体できたけど、$_にイベントのデータが詰まるわきゃないし、どこに格納されてるのかは知らね

$filename="dotnetfx.exe"
$url="http://www.microsoft.com/downloads/info.aspx?na=90&p=&SrcDisplayLang=ja&SrcCategoryId=&SrcFamilyId= `
0856eacb-4362-4b0d-8edd-aab15c5e04f5&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f5%2f6%2f7%2f567758a3-759e-473e-bf8f-52154438565a%2fdotnetfx.exe"
$wc = New-Object System.Net.WebClient
$a = New-Delegate.ps1 System.Net.DownloadProgressChangedEventHandler {$Host.UI.RawUI.WindowTitle=get-date}
$b = New-Delegate.ps1 System.ComponentModel.AsyncCompletedEventHandler {$Host.UI.RawUI.WindowTitle = "ダウンロード完了しました。"}
$wc.add_DownloadProgressChanged($a)
$wc.add_DownloadFileCompleted($b)
$wc.DownloadFileAsync($url,$filename)

早いとこ*-PSEvent*のドキュメント出してくれないかなぁ
869名無し~3.EXE:2008/05/24(土) 12:23:02 ID:1OhLHrWE
型アクセラレータの作り方
Create your own custom "Type Accelerators" in PowerShell
ttp://www.nivot.org/2008/03/27/CreateYourOwnCustomQuotTypeAcceleratorsquotInPowerShell.aspx

828といい完全な回答しないと返事も返さないのがデフォなんかねこのスレ・・・
870名無し~3.EXE:2008/05/24(土) 17:41:32 ID:HTJgBsv7
むしろこんな流れの遅いスレで
即レス帰ってくると思ってるほうが異常だろ
871名無し~3.EXE:2008/05/24(土) 18:36:57 ID:1OhLHrWE
問題提起しといて一日以上放置する方がどうかと思うけどなー俺
インアクションより抜粋

非同期のイベント処理は、PowerShellのバージョン1ではサポートされません。
実際に試してみると、PowerShellランタイムがそれを検出し、致命的な例外を生成して、シェルセッションを強制終了します。
もちろん、これは非常手段です。プログラムを不正な状態で実行し続けるよりも、明らかな方法で失敗させる方がましです。
単にメッセージを表示させる方法も試してみましたが、ユーザーがメッセージを見逃してしまい、スクリプトが動作しなくなったことに首をかしげることになります。
あまり感心できる方法ではありませんが、セッションが強制終了されれば、いやでも気が付きます。
では、何故非同期イベントをサポートしないのでしょうか。PowerShellにはオブジェクトへのアクセスを同期させるメカニズムがありません。
つまり、マルチスレッドプログラミングを確実に実行するための方法がありません。
この問題はインタプリタの将来のバージョンで解決される予定です。
872名無し~3.EXE:2008/05/26(月) 21:00:09 ID:RsTpncup
$DL = Add-Type -Language CSharpVersion3 @"
using System;namespace down { public class load { static private System.Net.WebClient wc = new System.Net.WebClient();
static public void Down(string[] args) { Uri uri = new Uri(args[0]); var filename = args[1];
wc.DownloadProgressChanged += new System.Net.DownloadProgressChangedEventHandler(wc_DownloadProgressChanged);
wc.DownloadFileCompleted += new System.ComponentModel.AsyncCompletedEventHandler(wc_DownloadFileCompleted);
wc.DownloadFileAsync(uri, filename); } static void wc_DownloadFileCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{ Console.Title = "Complete"; } static public void Cancel() { wc.CancelAsync(); Console.Title = "Cancel"; }
static void wc_DownloadProgressChanged(object sender, System.Net.DownloadProgressChangedEventArgs e) {
Console.Title = e.ProgressPercentage + "%"; } } }
"@ ?passThru

$DL::down(@("http://pc11.2ch.net/test/read.cgi/win/1163764836","1163764836.dat"))
873名無し~3.EXE:2008/05/30(金) 03:13:26 ID:6j2TQ29N
PowerShellインスコした。
もうちょっと賑わってるかなと思って来てみたら全然だな。
874名無し~3.EXE:2008/05/30(金) 05:52:53 ID:JXaywrGe
わー わー わー わー わー わー わー わー 
 わー わー わー わー わー わー わー わー わー 
わー わー わー わー わー わー わー 
 わー わー わー わー わー わー わー わー 
わー わー わー わー わー わー 
875名無し~3.EXE:2008/05/30(金) 10:56:43 ID:6AUZBZuo
.NETライブラリやCOM使ってゴリゴリ書くしかないような部分以外で悩むところがない
おんぶに抱っこしてくれてる部分が楽に書ける所為で5行以上書く気が失せる
結果的に10行以上になることは多々あるが
876名無し~3.EXE:2008/05/30(金) 14:50:46 ID:Z9UX5icK
.NETライブラリ使いまくりのスクリプトが長くなってくると、C#を使うべきだったかもしれないと考えたりする
877名無し~3.EXE:2008/05/30(金) 15:04:52 ID:Pv3Bi/R3
.NETにとってのWin32APIみたいなもんで、最後の手段でちょろっと使うくらいが正しいんだと思う
幸いそういう苦労をやってくれる人は何故か多いから使わせてもらってるけど
878名無し~3.EXE:2008/06/01(日) 06:03:27 ID:F1FNb5+m
マンションの共有スペースの掃除みたいなもんで、できるだけ逃げて最後の手段でちょろっと顔出すくらいが賢いんだと思う。
幸いそういう苦労をやってくれる人は何故か多いからやってもらってるけど。

環境保護募金みたいなもんで、女連れのときちょろっと小銭入れるくらいが正しいんだと思う。
幸いそういう苦労をやってくれる人は何故か多いからね。

×幸いそういう苦労をやってくれる人は何故か多いから使わせてもらってる
○幸いそういう苦労を代わりにやってくれる人が多いから使わせてもらってる
879名無し~3.EXE:2008/06/01(日) 19:26:52 ID:sAB+gVDu
New-Item huga.txt,hoge.ps1,111huga222.ps1,111huga222.txt,1hoge2345.ps1,1_1huga2-2.ps1 -ItemType file
(dir) -match "h[ou]g[ae]"
(dir) -match "\d+h[ou]g[ea]\d+"
(dir) -match "\d+h[ou]g[ea]\d+\.ps1"
(dir) -match "^\dh[ou]g[ea]\d+"

-match演算子ってこんな隠し機能あったのね。データバインディング強力なのにも程があるだろ。
ていうかGet-ChildItem自体が正規表現使えるようにするべきだと思うんだ。
880名無し~3.EXE:2008/06/01(日) 22:06:56 ID:6Ju0J6pb
??
すまん、これってどこの部分を隠し機能っていってるの?
データバインディング?
881名無し~3.EXE:2008/06/02(月) 03:58:07 ID:wlsXl2/f
>>880
あ、ごめん隠し機能ではなかった。全ての比較演算子はコレクションに対して要素を返すのね、-eqだけだと思ってた。
(Get-ChildItem) -match "パターン"

Get-ChildItem | ? { $_.Name -match "パターン" }
と全く同じ挙動を示したから、賢いなぁと思ったのですよ。
882名無し~3.EXE:2008/06/02(月) 23:01:28 ID:45ER5Xig
Graphical PowerShellって、文の途中でTabキー押しても以降の文が消去されないのが地味にいいな
883名無し~3.EXE:2008/06/05(木) 23:36:47 ID:/QH2BLud
Group-Objectで分けたグループの数だけカラムで分けて表にしてコンソール出力するのって
自分でそういう書式フォーマットのPS1XMLファイル作らんと無理かね?

1..10 | group { $_ -lt 6 } の結果を

True   False
----   ----
  1     6
  2     7
  3     8
  4     9
  5     10

みたいな感じで出力したんだけども
884名無し~3.EXE:2008/06/06(金) 02:01:46 ID:UePP4j9u
>>883
PS1XMLじゃ無理だね。
スクリプト組むしかない。
TrueグループとFalseグループの要素数の多い方の数だけループし、
New-Object object | Add-Member でTrueとFalseのNotePropertyくっつけて出力。
これでできる。
885名無し~3.EXE:2008/06/06(金) 13:11:15 ID:fZVCJb3O
>>884
なるほど、ひとつのPSObjectにGroupInfo.Groupプロパティを全部詰め込んじゃうと
{1, 2, 3, ...}みたいに省略されるから駄目かと思ったけど、PSObject[]の一つ一つに
GroupInfo.Group内の要素を詰めていってその配列を出力すればいいわけね
ただGroupInfoが += をサポートしてないからパイプの最後でオブジェクトをまとめるやり方がわからない・・・
どうせコンソールの横幅制限があるし、さらに一端それらを詰め込むためのPSObject[]を要素数5,6くらいで決め打ちしてつくるかなぁ
886名無し~3.EXE:2008/06/06(金) 13:51:39 ID:fZVCJb3O
あーそっかパイプの最後でまとめて一番要素数の多いグループを知ろうとする必要は無いのか
要素1のPSobject[]を最初に作って随時伸ばせばいいんだ
ってことでできた

function Out-GroupView {
$a = New-Object psobject[] 1

while ( $input.MoveNext() ) {
$group = $input.Current

for ( $i=0; $i -lt $group.count; $i++ ) {

for ( $j=$a.count; $j -lt $group.count; $j++ ) {
$a += New-Object psobject
}

$a[$i] | Add-Member -Name $group.Name -Value $group.Group[$i] -MemberType NoteProperty
}

}

return $a
}
1..20 | group { if ( $_ -lt 9 ) {echo "9miman" } elseif ($_ -gt 15) {echo "15ijou" } else {echo "dottidemonai"} } | Out-GroupView

表示は正しいけどエラーが出る・・・ぼすけて
887名無し~3.EXE:2008/06/06(金) 13:56:05 ID:fZVCJb3O
っておい超凡ミスじゃんorz
$a[0] = New-Object psobject
忘れてた
888名無し~3.EXE:2008/06/06(金) 20:15:34 ID:NYW9U3xM
ぬが。最初からこうしとけばよかったんじゃん。
$a = New-Object psobject[] 0
しかしGroup-Object単体で同じことができるようになって欲しいので
gpowershellのフィードバックメールで要望出す阿呆がここに一人
889名無し~3.EXE:2008/06/07(土) 23:08:32 ID:0gEev4zN
CTP2の新機能/コマンド網羅したGraphical Help出す気ないのかよ
使い方わかんねーよ
890名無し~3.EXE:2008/06/08(日) 21:44:07 ID:JnYLMETO
CTPってのはβよりさらに前のバージョン。
基本的に知識と経験豊富な上級者向け。
ドキュメントなんて揃ってるわけねーだろ。
891名無し~3.EXE:2008/06/08(日) 22:08:09 ID:/DHN404z
>>890
CTP1の時は数日後にはドキュメント公開されてた
今回追加された一部(というかほとんど)のコマンドはmanすらできねーんだよ
(Get-Command Get-PSEvent).Definition
ってやればパラメータは分かるけど、それだけじゃ難易度高すぎるだろ
892名無し~3.EXE:2008/06/09(月) 07:04:28 ID:FwRlBsjW
>>891
だから?
ドキュメントが揃ったらそれはCTPじゃなくβだ。
お前にとって難しくて使えなきゃやめとけって話。
893名無し~3.EXE:2008/06/09(月) 10:08:32 ID:uZOaA0HN
網羅って言ったのが悪かったのか・・・俺の"揃った"の定義だとCTP1がβになる矛盾
揃えなくていいからもうちょっと増やしたの出して欲しい
894名無し~3.EXE:2008/06/11(水) 22:11:38 ID:9Zs43UDH
いつの間にかPowerShellのコードが脆弱性回避策として載せられるようになってたのね
ttp://www.microsoft.com/japan/technet/security/bulletin/ms08-030.mspx
895名無し~3.EXE:2008/06/12(木) 20:33:46 ID:rEiWFztU
PowerTools for Open XML
ttp://www.codeplex.com/PowerTools
PowerTools for Open XML Introduction
ttp://video.msn.com/video.aspx?mkt=en-us&user=-784843906073739507&vid=91db7a7a-09d4-448e-b3f3-4c7e20f09dda

グラフ作るのが簡単そうでいいね、自分でビルドする必要があるけど
896名無し~3.EXE:2008/06/13(金) 14:55:46 ID:zLb0SDqn
dir c:\windows\system32\*.ini

dir c:\windows\system32\ *.ini

では俺の環境だと後者の方が百倍くらい速い
すげー
897名無し~3.EXE:2008/06/15(日) 10:30:49 ID:4lSrc/HU
Windowsを再起動してから後者を先にやってみ
898名無し~3.EXE:2008/06/15(日) 13:30:56 ID:1QiRuSAu
>>897
Windowsを再起動してから後者を先に実行した後に
Windowsを再起動してから前者をやってその後
Windowsを再起動して後者をやってから前者をやってみ

コールドスタートの方が不利なのは当然だが、これとそれとは関係ない
2回繰り返してやってみれば分かるだろう
899名無し~3.EXE:2008/06/15(日) 16:13:49 ID:zyrGonBy
>>895
微妙に便利そうなので公開してみるテスト
ttp://cid-40405a7c2ae2b5b7.skydrive.live.com/browse.aspx/PowerTool%20for%20OpenXML
900名無し~3.EXE:2008/06/16(月) 22:59:16 ID:YJRkAvUb
ssh経由だとpowershell使えないねえ
残念だ
901名無し~3.EXE:2008/06/17(火) 00:15:38 ID:g+SS9Oh9
902名無し~3.EXE:2008/06/17(火) 17:55:36 ID:i/oAB/ji
PowerShellでExif情報を読むにはどうすりゃいいの?
get-content DSCF0001.jpg
とかでexifを読めるのかと思ったんだけど。
903名無し~3.EXE:2008/06/17(火) 18:46:05 ID:F5fLaHat
Get-Contentはただデータ読み込むだけだからやるとしてもGet-ItemPropertyだろ(出来ないけど)
そういうのはPowerShellでどうやるかってより.NET(C#/VB etc)でどうやるかを調べた方が早い
例えば C# Exif でぐぐれば腐るほど出てくる
904名無し~3.EXE:2008/06/18(水) 02:00:42 ID:5OYFuF9f
905名無し~3.EXE:2008/06/18(水) 09:43:21 ID:a0YdzPMh
PowerShellでファイルオープンダイアログを開くのは、
ttp://www.atmarkit.co.jp/fwin2k/win2ktips/986psdialog/psdialog.html
でできるのだが、このとき、表示のデフォルトをサムネイルにしたい。
ttp://blogs.wankuma.com/kokuryu/archive/2007/07/04/83697.aspx
を見ると、なんかできないっぽいけど
906名無し~3.EXE:2008/06/23(月) 17:33:28 ID:WhY5SH3l
...
907名無し~3.EXE:2008/06/25(水) 14:44:56 ID:+CAZs8KA
カレントディレクトリの全ファイルの頭に
カレントディレクトリ名をくっつけるのってどうやるの?
foo/bar.txt -> foo/foo_bar.txt
みたいにしたいのですが。
908名無し~3.EXE:2008/06/25(水) 15:52:40 ID:hHkROI9K
$cdname = (gi .).Name
dir | % { ren $_.name $($cdname + "_" + $_.Name) }
909名無し~3.EXE:2008/06/28(土) 01:33:55 ID:+g/Dmen3
PowerShell Commands for Active Directory by Quest Software Ver 1.1
ttp://www.quest.com/powershell/activeroles-server.aspx
910名無し~3.EXE:2008/06/29(日) 02:18:29 ID:BT8/Bg4Q
Windows XP 用 Windows PowerShell 1.0 インストール パッケージ (ローカライズ版)
http://www.microsoft.com/downloads/details.aspx?FamilyID=30125A46-B97C-4704-AA10-605E809D5933&displaylang=ja
公開された日付 : 2008/06/23
更新されてるけど何か変わったの?
911名無し~3.EXE:2008/07/05(土) 22:22:57 ID:bW1aFcmG
>>910
SP3チェック済みとか? なんだろね。

しかし、2000もサポートして欲しい。企業内で現役で動いてるマシンはいっぱいあるんだよ。
912名無し~3.EXE:2008/07/05(土) 22:48:04 ID:zaMY5yDM
うちのプリンタサーバは95だす
913名無し~3.EXE:2008/07/05(土) 23:44:08 ID:FcdTZbjC
そういえばPowerShellのアセンブリ使った.NETアプリは2000で動くんかな
月曜に試してみるか
914名無し~3.EXE:2008/07/06(日) 01:03:12 ID:yK94XwJv
XPでPowerShellアンインスコして実行ファイルと同じディレクトリにDLL置いて実行したら
PowerShellの情報がレジストリにねーよヴォケって怒られた、諦めよう
915名無し~3.EXE:2008/07/08(火) 00:03:29 ID:hL6a1iKJ
2,3ヶ月前はTOP15圏外の36位だったのに、爆上げしとるwww
TIOBE Software: Tiobe Index
ttp://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

15 - PowerShell 0.436% +0.44% B
916899:2008/07/08(火) 20:21:00 ID:+TP5ODE+
気づけば本家公認のバイナリ配布サイトができてらぁ
PowerTools for Open XML: Binary Install Available
http://blogs.msdn.com/ericwhite/archive/2008/07/04/powertools-for-open-xml-binary-install-available.aspx

ちなみに使用にOpen XML Format SDKは必要だけどOfficeは必要ない
917名無し~3.EXE:2008/07/09(水) 18:33:26 ID:pYoGA/HE
>>914
なんでわざわざそんな面倒くさいことを四天王?
918名無し~3.EXE:2008/07/09(水) 19:12:10 ID:FAOLPQJU
>>917
そこに2000があるからさ
919名無し~3.EXE:2008/07/09(水) 22:53:04 ID:uFagPyT0
PowerShellの情報のレジストリ情報をXPから2000に登録したらどうなるんだろう。
920名無し~3.EXE:2008/07/10(木) 14:08:10 ID:RsUqjy9j
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell以下をエクスポートしたと後PowerShellアンインストール
エクスポートしたregファイルを統合、C#で作ったPowerShellのコマンドレットを使用するアプリ作成
その実行ファイルと同じディレクトリにSystem.Management.Automation.dllとかその辺全部コピー

で、実行したら普通に動いた、わっしょいわっしょい
明日2000で試してみよう
921名無し~3.EXE:2008/07/11(金) 17:20:02 ID:DvRELzmZ
とりあえず自作した方は上記のやり方で普通に2000でも動いた
WinRMすら入ってないけどv2.0 CTP2のアセンブリで普通に動く
ただpowershell.exeは有効なWin32アプリケーションじゃないって怒られた
ttp://www1.axfc.net/uploader/Img/l/5145658299/Img_15730.png
922名無し~3.EXE:2008/07/11(金) 17:25:22 ID:DvRELzmZ
ああURLこっちじゃないとだめなのか
ttp://www1.axfc.net/uploader/Img/so/15730
923名無し~3.EXE:2008/07/13(日) 17:47:12 ID:iaH1OE62
1.0 RTM/2.0 CTP/2.0CTP2の3種同時起動できた
ttp://www-2ch.net:8080/up/download/1215938395094591.bmIITx

PowerShell 1.0 RTMをインストールする(XPの場合 C:\WINDOWS\system32\windowspowershell\v1.0 とする)
*
レジストリエディタを開いて HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell をエクスポート、適当な名前をつけて保存
PowerShellのインストールフォルダのファイルを適当なフォルダに全部コピー
PowerShellのアセンブリをコピーする
$path = "C:\temp\1.0 RTM"; # 先にコピーしたレジストリファイルと同じディレクトリ
md $path;
[System.AppDomain]::CurrentDomain.GetAssemblies() | Where {$_.FullName -like "*Version=1.0.0.0*";} | Copy-Item -path {$_.Location;} -destination $path;
#CTP/CTP2でOut-GridViewを使いたい場合はそれを実行してから、gpowershell.exeが使いたいときはgpowershell.exe上で上三行を実行
*
以下 * の間を2.0 CTP/CTP2をインストールして繰り返す(保存先は変える)

PowerShellをアンインストールする(この時点ではCTP2の定義ファイルがインストールフォルダに残ってるはず)
1.0 RTMの定義ファイル(*.ps1xml)を元のPowerShellのインストールフォルダにコピー
1.0 RTMのレジストリを統合する

後は普通に起動するだけで3種同時に使用可能



以下どうでもいいこと

v2.0のCTPやCTP2の定義ファイルをインストールフォルダに置いておくと、
古いバージョンで起動時に一部更新されてる箇所でエラーが出る(それでも普通に動くけど)
各レジストリファイルをメモ帳などのテキストエディタで開いて
C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0 をコピー先のフォルダフルパス(上の例でならC:\\temp\\1.0 RTM)に置き換えて
それぞれを起動する前に HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell を削除して統合しなおす
するとコピー先のフォルダから定義ファイルを読み込んでくれるのでエラーが出なくなる
もしくはC:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0 の定義ファイルをその都度置き換えるでもよし
924名無し~3.EXE:2008/07/13(日) 18:39:20 ID:Ix9lQ7uF
強力なバッチファイル環境の類かと思って見に来たら、
何だかとてつもなく難しい話してる・・・
これって管理者でないエンドユーザーには、あまり縁のない機能なんですか?
925名無し~3.EXE:2008/07/13(日) 19:28:16 ID:iaH1OE62
>>924
自動化したい処理があるなら誰にでも縁あるかと
今これといったネタがないから、バッチファイル投下すれば多分暇な人がPowerShellのコードに直してくれるよ
926名無し~3.EXE:2008/07/14(月) 00:42:02 ID:P4iwwzwZ
これってC#からスクリプトとして呼び出せる?
詳しく言うと、エンドユーザが後で好きなように計算式を書き換えれるように
C#からPowerShellの関数を呼び出してその結果を使いたいんだが・・・
こういう仕組みのことをなんて言うのか分からないから自分で具具っても見つからないorz
PowerShellから.netを扱う例ならいくらでも見つかってるんだが・・・
927名無し~3.EXE:2008/07/14(月) 03:24:22 ID:N2XLM/ed
>>926
C#からコマンドレット・スクリプトを実行するときは大体こんな感じ

C#からPowerShellをいじくりたおす 1
http://d.hatena.ne.jp/coma2n/20071123/1195819341
PowerShellスクリプトの有効活用
http://d.hatena.ne.jp/coma2n/20080509/1210325282
928名無し~3.EXE:2008/07/14(月) 15:22:42 ID:P4iwwzwZ
>>927
サンクス。こういうのってAutomationとか言うのかな?
これで色々遊べる
929名無し~3.EXE:2008/07/14(月) 18:27:07 ID:1SoxBcK8
JScript.NETのevalでよくね
.NET Frameworkだけで動くし
930名無し~3.EXE:2008/07/14(月) 19:45:12 ID:2a/lPV/o
特に名前は付いてないと思う、ただPowerShellのアセンブリを参照してるだけっしょ

XPにインストールしたPowerGUIのフォルダを丸ごと2000にコピーして
そこにPowerShellのアセンブリ一式をコピー
さらにXPのレジストリから↓をエクスポートして、2000にコピーして統合すればPowerGUI動いた
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellSnapIns\Quest.PowerGUI

これでとりあえず2000でもPowerShellの実行&スクリプティング環境は整った
powershell.exeが動いてくれるともっと嬉しいんだけど
931名無し~3.EXE:2008/07/15(火) 12:52:46 ID:hztswF+Y
なんか最近急にPowerShellをWebで使おうぜ!みたいなのが流行りだしたね

ActiveXPoSH is now a free download
ttp://blog.sapien.com/index.php/2008/06/25/activexposh-is-now-a-free-download/

PowerShell Pages
ttp://www.codeplex.com/PowerShellPages

PowerShell Dashboard
ttp://www.codeplex.com/Poshboard

Go check out PowerShellASP
ttp://halr9000.com/article/513
932名無し~3.EXE:2008/07/19(土) 20:25:59 ID:tFZsGTZA
"Hello","こんにちは","See you","またね","Thank you","ありがとうございます"|
% { '{0}{1, 50}' -f $_.length , $_ }

何故か日本語はずれる
933名無し~3.EXE:2008/07/20(日) 00:57:35 ID:wIoBb6QJ
5 Hello
5 こんにちは
7 See you
3 またね
9 Thank you
10 ありがとうございます

あってんじゃね?
934名無し~3.EXE:2008/07/20(日) 01:08:46 ID:MgnzJOQI
>>933
50カラム分右詰していしてるから、シングルバイトの文字列はどれも終点がそろってるけど
日本語(マルチバイト?)の文字列だと終点の位置にその文字列の中心が据えられる感じ
935名無し~3.EXE:2008/07/20(日) 03:33:21 ID:wIoBb6QJ
>>934
あ、「ずれる」のね。「外れる」=文字数の計算が合わないのかと思った。失礼。
いずれにせよ、文字数だけ見ると、正しく表示されているけど、
日本語1文字を2文字分として数えないと、見た目正しくならない。
原理的には
$enc = [Text.Encoding]::GetEncoding("Shift_JIS")
"Hello","こんにちは","See you","またね","Thank you","ありがとうございます"|
% { $n=50-$enc.GetByteCount($_)+$_.length; "{0}{1,$n}" -f $_.length , $_ }
って感じで。
936名無し~3.EXE:2008/07/20(日) 12:37:26 ID:uhols9Zk
>>935
ああ勘違いさせてごめん
Encodingクラス使って対処かー
String.Formatでも同じ挙動だし、さすがに気づいてないわけ無いだろうから仕様か
937名無し~3.EXE:2008/07/24(木) 09:47:46 ID:2VTRL0cP
 
938名無し~3.EXE:2008/07/24(木) 15:41:32 ID:w6k6/ICF
誰か.NETコンソールかWinFormsで単純なPowerShellのコンソール作った人おらんかいのう
939名無し~3.EXE:2008/07/24(木) 21:00:41 ID:4eLBXRxc
WinFormsでつくったよ
940名無し~3.EXE:2008/07/25(金) 01:31:45 ID:77GuHYQj
>>939
ください、それください
941名無し~3.EXE:2008/07/25(金) 13:24:48 ID:XWxhZnff
なんか知らんが in Action シリーズが全部PDFで公開サレテーラ(英語)
http://knowfree.net/2008/07/25/13833.kf

Manning - W1nd0ws PowerShell in Action
http://rapidshare.com/files/129515479/MIA.W1nd0ws.PowerShell.rar
942名無し~3.EXE:2008/07/25(金) 16:49:36 ID:qCv1ufn1
しかしPSは微塵も流行らんな
943名無し~3.EXE:2008/07/26(土) 14:20:15 ID:3NznJXWM
PowerShell使うようになって心なしかforとかifみたいな制御構文使う機会が少なくなった気がする
forはパイプで渡せばコマンドレットが勝手にまとめて処理してくれるのと、 .. % あたりで事足りるからかな
そうするとifは?とgroup、配列に対する各比較演算子のおかげか
944名無し~3.EXE:2008/07/26(土) 23:02:25 ID:DQ1zvOwT
>>941
大抵のメジャーな洋書は検索すれば rapidshare に上げられているけど、
時間を金で買うつもりで、結局訳書を買ってしまう。
945名無し~3.EXE:2008/07/27(日) 00:48:54 ID:ur65dbDw
C#で一通り.net Frameworksを触ってると
どれもこれも見たことあるクラスばかりで感動する

Get-Process  = [System.Diagnostics.Process]::GetProcesses()
Get-Date = [System.DateTime]::Now
だけど
Get-Location =/= [System.IO.Directory]::GetCurrentDirectory()
なんだな。
946名無し~3.EXE:2008/07/27(日) 01:11:28 ID:ur65dbDw
>>942
結局ライブラリの充実さがものを言うから、C#で出来る事はPowerShellでも出来るんだよなぁ
出来ないことと言えば、CLIにコンパイルするのと、LINQやラムダ式あたり?
逆にPowerShellの利点と言えば、すぐに実行できるのとScriptPropertyぐらいだな
ScriptPropertyは拡張メソッドで同じようなことが出来るから代行できる。

だから、C#で出来る事をわざわざPowerShellでやる必要は無いから、流行ないんだろうな。知名度も高く無いだろうし。
インタラクティブに1行1行実行する必要性がそもそもねぇ…

パイプラインで渡してコマンドレットをつなげても、結局それはC#とかでこつこつ書いてるわけで
それなら、その言語で全部面倒見るなりライブラリを用意するほうが手っ取り早かったり

それに何より、PowerShell用に用意しても、はやってなさそうだから需要がなさそう。

947名無し~3.EXE:2008/07/27(日) 07:28:09 ID:gHzTX9lU
OSに標準搭載されてくれないと始まらない
今使われているほぼ全てのWindowsで動くwshにはかなわない
948名無し~3.EXE:2008/07/27(日) 11:22:21 ID:/0CRyf4G
Scripting.FileSystemObjectを使うだけでもれなくウイルス扱いしてくれるノートン先生を
どうにかしてください
949名無し~3.EXE:2008/07/27(日) 11:51:40 ID:vmpgu9hY
サードパーティの盛り上がりは既にwsh超えてると思うが・・・まあ日本はしょうがない
950名無し~3.EXE:2008/07/28(月) 13:26:36 ID:cegyElCQ
速度も遅すぎる。しかも、変なところで遅い。

Powershell 1.0なら

dir -recurse | ?{$_.Mode -like 'd*'}

よりも、

function global:dird{
  $aList = @()
  $aList += dir -literal . | ?{$_.Mode -like 'd*'}
  $i = 0
  while($aList[$i]){
    $aList += $aList[$i].GetDirectories()
    $i++
  }
  return $aList
}

のほうがなぜだが10倍くらい速い。

コマンドレットとパイプ処理が、ユーザー定義関数に惨敗していちゃいけない。
951名無し~3.EXE:2008/07/28(月) 20:23:10 ID:HCQMXA6a
PSほにゃららプロパティを無視していいなら
$list=@();
(gi .).GetDirectories()|%{$list+=$_;$_.GetDirectories()}|%{$list+=$_;$list+=$_.GetDirectories()}| ... |%{$list+=$_;$_.GetDirectories()}|%{$list+=$_;$_.GetDirectories()}
が多分最速
面倒な人は
(gi .).GetDirectories("*","AllDirectories")
952名無し~3.EXE:2008/07/28(月) 20:28:47 ID:HCQMXA6a
コピペミスしてるけどどうでもいいよね
953名無し~3.EXE:2008/07/29(火) 00:05:03 ID:vuViqs2i
PSは副ストリームとの相性が悪そうだな
PS > dir > hoge:b
ドライブが見つかりません。名前 'hoge' のドライブが存在しません。
発生場所 行:1 文字:6
+ dir >  <<<< hoge:b

副ストリームもPS以上にはやってないからどうでもいいのかな?
954名無し~3.EXE:2008/07/29(火) 09:00:03 ID:Jl581Lix
>>947
サーバー系のOSかアプリかではもう標準装備が始まってるんだろ?

Ver2が次のSPとかに入ることを期待しよう。
あるいは、意外と早く出そうなWindows7に。
955名無し~3.EXE:2008/07/29(火) 15:27:31 ID:nJTYZxfa
難癖つけたいだけだろ
Vistaに標準搭載しなかったのは大きな失敗だけど、搭載されたところでXP以前には関係ない
956名無し~3.EXE:2008/07/29(火) 15:50:46 ID:xTkMMfP0
うちの会社まだ2000なんだけど。
Vistaの次から標準搭載されたとしてあと何年待たされるんだか。
ソフトは勝手に入れるの禁止だし、OSに最初から付いてくるってのは大きな意味がある。
957名無し~3.EXE:2008/07/29(火) 16:07:03 ID:nJTYZxfa
>今使われているほぼ全てのWindowsで動くwshにはかなわない
なんて言ってる奴の要望に応えられることはない
958名無し~3.EXE:2008/07/29(火) 19:33:08 ID:s013n4jE
>>948
Scripting.FileSystemObjectのレジストリを直せば?
959名無し~3.EXE:2008/07/30(水) 19:26:18 ID:4Oczn+xD
NetCmdlets 2.0のベータ版が新しくなったらしいから入れてみたら
PowerShellServerはバージョンは古いから動きません、新しいのにアップデートしてくださいとか言われる
何故だ・・・
960名無し~3.EXE:2008/07/30(水) 20:27:10 ID:I7IdzC3P
>>959
PowerShellが"新しくて"エラー出てるんじゃない?
PS CTP ベータ2にPowerGUIいれたら「新しいPS入れろ」ってしかられた
961名無し~3.EXE:2008/07/30(水) 20:46:33 ID:4Oczn+xD
>>960
2.0 CTP2を入れてたことはあったけど、今は1.0
RTMのTrial出るまで待つかぁ
962名無し~3.EXE:2008/08/01(金) 02:05:48 ID:Gy+5WguQ
963名無し~3.EXE:2008/08/03(日) 19:06:32 ID:liZtZPp1
Windows PowerShell V2 (Community Technology Preview - Features Subject to Change)
Copyright (C) 2008 Microsoft Corporation. All rights reserved.

PS C:\PowerShell> function s {s}
PS C:\PowerShell> s
The script failed due to call depth overflow. The call depth reached 1001 and the maximum is 1000.

関数呼び出し制限が100から1000になってる
964名無し~3.EXE:2008/08/07(木) 01:45:12 ID:nLeUzXvf
もうリリースされて2年近く経つのに
オブジェクト指向なコマンド環境
ってするタイトルにするだけであそこまで注目度あがるもんなんだなぁ…
@ITの 次世代Windowsシェル 追い越すんじゃなかろか
965名無し~3.EXE:2008/08/11(月) 15:07:28 ID:KE6VYicR
バッチファイルやWSHの頃は「〜やるにはどうすればいいですか」に対して
「〜をやってくれる外部プログラム/COMを探すか作るかすればいいよ」って返答が精々だったのに
いざ単体でなんでもできるようになるとC#でやった方がってなるのもなんか贅沢な悩みだな
966名無し~3.EXE:2008/08/12(火) 19:07:51 ID:c0G9qTpC
マイクロソフト、VS 2008と.NET Framework 3.5のSP1を公開
ttp://enterprise.watch.impress.co.jp/cda/software/2008/08/12/13624.html

gpowershell.exe とか Out-GridView とかの表示が早くなった
967名無し~3.EXE:2008/08/16(土) 07:19:50 ID:Qufsq5tJ
>963
その100だの1000だの必然性の無いマジックナンバーはなんなんだw
968名無し~3.EXE:2008/08/17(日) 08:48:33 ID:BS0uPrAQ
>>967
C# なんかだと、メソッドの呼び出し元をスタックにプッシュする。
そのスタックを有限にして、スタックオーバーフローエラーを発生させることで
無限再帰を防止している。
スタックのサイズに必然性はなく、「通常の使用ではこれくらいあれば十分」
と思われるサイズを設定している。

だから別に珍しいことではない。
単に100に制限していたのが少なかったということで1000に増やしただけ。
969名無し~3.EXE:2008/08/20(水) 17:09:28 ID:AMsXmCZD
洋書だけど PowerShell in Action の続編が出るっぽい(今回の著者はMVP)
http://www.manning.com/siddaway/

各種コンポーネントの活用法とかより実践的な内容になるのかな、試し読みPDFも公開されてる
さらっとP25で紹介してるGet-PSDriveの出力結果にあるFeedStoreってプロバイダ名のドライブはなんなんだろ
970名無し~3.EXE:2008/08/20(水) 19:04:27 ID:AMsXmCZD
ああ、PSCXにそんなのがあったのか
971名無し~3.EXE:2008/08/21(木) 09:52:10 ID:ogAUKEmI
見てないけど
IE7に登録したRSSフィードとか?
972名無し~3.EXE:2008/08/21(木) 15:52:12 ID:PjCjlwuD
そそ、まさしく
973名無し~3.EXE:2008/08/24(日) 11:29:37 ID:cq3s1VfX
>>956
WindowsUpdateで強制インストールでもいいのにね・・・
IE7みたいに・・・
974名無し~3.EXE:2008/08/25(月) 07:53:17 ID:mlByObOE
>>973
クライアントOSなら良いけど、サーバOSだと困ると思う
何のためにコンポーネント別にしてインストールできるようにしてあるのか分からない
975名無し~3.EXE:2008/08/26(火) 14:21:48 ID:MNbrgqJA
CTP2のgpowershell.exeの入力コンソールはShift+Enterで改行できることに気付いた
976名無し~3.EXE:2008/08/30(土) 20:50:23 ID:JaHRfg5/
Select-String (type pattern.txt) source.txt
こんな感じで使いまわしてたスクリプト(の一部)があったんだけど
突然-Patternの値が空っぽだってエラーでて処理できなくなった
何度確認してもpattern.txtはちゃんと存在するし中身もある、訳がわからず数十分悩む
原因は改行だけの空行が入ってたことだったとさ
977名無し~3.EXE:2008/09/05(金) 15:45:07 ID:7D3KrD56
2.0本
Amazon.com: Windows PowerShell 2.0 Unleashed: Tyson Kopczynski, Pete Handley, Marco Shaw: Books
ttp://www.amazon.com/Windows-PowerShell-Unleashed-Tyson-Kopczynski/dp/0672329883/ref=sr_1_1?ie=UTF8&s=books&qid=1220597038&sr=1-1
978名無し~3.EXE:2008/09/09(火) 08:26:39 ID:GMzmCLIM
エディタの設定に使いたいんですがPowerShellの予約語一覧ってどこかにないですか。
検索一発で見つかるかと思ったらなかなか見当たらない・・・
979名無し~3.EXE:2008/09/09(火) 08:44:05 ID:QX8R8x4y
>>978
Vim用のシンタックスファイルから借用するとか
ttp://www.vim.org/scripts/script.php?script_id=1327
980名無し~3.EXE:2008/09/09(火) 10:47:51 ID:lL2Ub0tO
>>978
うろ覚えだけど、
help about_reserved_words
で見れるはず
981名無し~3.EXE:2008/09/09(火) 18:13:34 ID:SwPhtsnp
>>980
次スレー
982名無し~3.EXE:2008/09/10(水) 13:11:51 ID:ccH1pLSE
落ちるって
983980:2008/09/10(水) 20:49:13 ID:0pCgUL/8
ごめん。チェックしてなかった…

新スレです。足りない情報があったら追加よろしく
http://pc11.2ch.net/test/read.cgi/win/1221046998/
984名無し~3.EXE:2008/09/10(水) 21:11:16 ID:ccH1pLSE
>>983
どつかれさん
985名無し~3.EXE:2008/09/11(木) 20:56:09 ID:LacMpCfW
ぽしゅ
986名無し~3.EXE:2008/09/12(金) 00:58:11 ID:dbWsgNEu
次スレは聞くだけ聞いて放置する子がもうちょっと少なくなりますように
987名無し~3.EXE:2008/09/13(土) 00:53:21 ID:/gSYkqLn
埋め
988名無し~3.EXE:2008/09/13(土) 10:25:57 ID:oIcaDTus
埋め
989名無し~3.EXE:2008/09/13(土) 18:40:00 ID:V0QRfBYY
埋め
990名無し~3.EXE:2008/09/13(土) 19:20:00 ID:V0QRfBYY
埋め
991名無し~3.EXE:2008/09/13(土) 22:20:01 ID:V0QRfBYY
992名無し~3.EXE:2008/09/14(日) 08:29:44 ID:Ggle4khv
埋め
993名無し~3.EXE:2008/09/14(日) 09:34:43 ID:KGqaoXyN
ぃゃぁ
994名無し~3.EXE:2008/09/14(日) 09:40:46 ID:KGqaoXyN
てs
995名無し~3.EXE:2008/09/14(日) 09:41:04 ID:MjJJ07bi
ume
996名無し~3.EXE:2008/09/14(日) 09:46:10 ID:KGqaoXyN
てs
997名無し~3.EXE:2008/09/14(日) 09:59:59 ID:MjJJ07bi
埋め
998名無し~3.EXE:2008/09/14(日) 10:10:10 ID:MjJJ07bi
999名無し~3.EXE:2008/09/14(日) 11:30:00 ID:MjJJ07bi
うmえ
1000名無し~3.EXE:2008/09/14(日) 11:52:52 ID:XqGGe189
1000ならお前らに彼女ができる
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。