5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Windows PowerShell 2.0

1 :名無し~3.EXE:2008/09/10(水) 20:43:18 ID:0pCgUL/8
Windows PowerShell
http://www.microsoft.com/japan/technet/scriptcenter/hubs/msh.mspx
http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx (英語)

■パッケージのダウンロード
Windows XP, Windows Server 2003用
http://support.microsoft.com/?kbid=926140

Windows Vista用
http://support.microsoft.com/?kbid=928439

Windows PowerShell V2(CTP2)
http://www.microsoft.com/downloads/info.aspx?na=47&p=1&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=60deac2b-975b-41e6-9fa0-c2fd6aa6bc89&u=details.aspx%3ffamilyid%3d7C8051C2-9BFC-4C81-859D-0864979FA403%26displaylang%3den

■参考
http://www.atmarkit.co.jp/fdotnet/special/powershell01/powershell01_01.html
http://oka326.blogspot.com/search/label/PowerShell
http://d.hatena.ne.jp/newpops/
http://blogs.msdn.com/PowerShell

■前スレ
Windows PowerShell (正式版リリース)1.0
http://pc11.2ch.net/test/read.cgi/win/1163764836/

2 :名無し~3.EXE:2008/09/10(水) 21:18:12 ID:ccH1pLSE
PowerShell の起動を高速化する
ttp://flamework.net/archives/10
ttp://powershell.hiros-dot.net/post/2008/07/30/PowerShelle381aee8b5b7e58b95e38292e9809fe3818fe38199e3828b.aspx

スクリプトの実行ポリシー (Execution Policy) をグループポリシーで一元管理する
ttp://d.hatena.ne.jp/newpops/20080416

コマンドプロンプト・ UNIX系OSのシェルとのコマンド対応表
ttp://marxsoftware.blogspot.com/2008/03/comparing-unixlinux-powershell-and.html
ttp://en.wikipedia.org/wiki/Windows_PowerShell#Cmdlets_2

VBScript コマンドから Windows PowerShell コマンドへの変換
http://www.microsoft.com/japan/technet/scriptcenter/topics/winpsh/convert/default.mspx

キーバインド変更
XKeymacs
ttp://www.cam.hi-ho.ne.jp/oishi/
窓使いの憂鬱
ttp://mayu.sourceforge.net/

コマンドレットオンラインヘルプ作成 ver2
ttp://blogs.wankuma.com/mutaguchi/archive/2006/12/08/49387.aspx

Windows Server 2008 のサーバーコアに PowerShell をインストール
PowerShell on Server Core
ttp://dmitrysotnikov.wordpress.com/2008/05/15/powershell-on-server-core/

3 :名無し~3.EXE:2008/09/11(木) 00:56:53 ID:RJd2rL0W
■エディタとかIDEとか
PowerShell Analyzer (45日間試用可能)/ PowerShell Plus (個人使用無料)
ttp://www.powershell.com/index.html
PowerGUI
ttp://www.powergui.org/index.jspa
Admin Script Editor (45日間試用可能・ フォームデザイナ)
ttp://www.adminscripteditor.com/index.asp

■コマンドレットとかプロバイダとかその辺
・PowerShell Community Extensions
ttp://www.codeplex.com/PowerShellCX
・アクティブディレクトリー - Free PowerShell Commands for Active Directory
ttp://www.quest.com/powershell/activeroles-server.aspx
・IIS7 PowerShell Provider Tech Preview 2
ttp://blogs.msdn.com/powershell/archive/2008/07/03/iis7-powershell-provider-tech-preview-2.aspx
・グループポリシー - SDM GPMC PowerShell Cmdlets
ttp://www.sdmsoftware.com/freeware
・SSH クライアント / サーバー - NetCmdlets for Windows PowerShell
ttp://www.nsoftware.com/PowerShell/
・Officeファイル(Open XML)生成 ・操作 - Open Xml Power Tools at Staff DotNet Staff DotNet
ttp://staffdotnet.com/services/powertools.html

■その他
タブ補完機能強化ツール - PowerTab
ttp://thepowershellguy.com/blogs/posh/pages/powertab.aspx
・Visio 2007 用 Windows PowerShell スクリプト生成ツール
ttp://www.visio.jp/dl/visPowerShell/index.html
・WSH から PowerShell を利用する - ActiveX PowerShell(ActiveXPoSH)
ttp://www.primalscript.com/Free_Tools/index.asp

4 :名無し~3.EXE:2008/09/11(木) 20:59:26 ID:LacMpCfW
ぽしゅ

5 :名無し~3.EXE:2008/09/12(金) 12:42:40 ID:awoEO6eY
win板って即死判定あったっけ

6 :名無し~3.EXE:2008/09/13(土) 00:54:51 ID:/gSYkqLn
保守

7 :名無し~3.EXE:2008/09/13(土) 01:43:52 ID:Uypf/kPy
PowerShell の次世代版βとかについて語るスレかと思った。
次のバージョンの開発って進んでるのかな

8 :名無し~3.EXE:2008/09/13(土) 19:26:40 ID:uj8RD/Q9
CTP2が出た五月の時点で後一年±4半期くらいって言ってた
7にさえ間に合えばいいんだから今から後1年位掛けてくれてもいいけど

9 :名無し~3.EXE:2008/09/14(日) 01:37:47 ID:+idGER/y
SCVMM 2008はESXに対応するらしいけど、同じ要領でSQLPSも他のRDBMSに対応したりしないかしらん

10 :名無し~3.EXE:2008/09/15(月) 00:12:33 ID:ou2pHTgt
あげ

11 :名無し~3.EXE:2008/09/15(月) 04:01:27 ID:YkTsJ6z5
1年以上前にmixiで知り合った大阪の女性と(俺は東京)新宿で遊ぶ事になりました。
会う前から仲は良く、お互いに電話したり顔写真送りあったりしてました。

彼女は初めての新宿だったので色々と案内したり、西口の野村ビルにある洒落たバー で飲んだり、カラオケ行ったりしてさ。楽しかった。このまま時間が止まれば良いって思ったくらい。
でも、時間が10時過ぎた時に気がついたんです。彼女が帰れない事に。

やっぱり会ったばっかでラブホは気が引けるので漫画喫茶に行こうって話しになったんです。

マンボウに行ったんですが満席で、テンパってた俺に彼女は『シャワー浴びたいんだよね』と言い出したものだから期待してしまい、そのままの勢いでラブホに直行したんです。

コンビにで酒を買いラブホに入りました。このままヤっちゃうのだろうか?もう俺の脳内はHな事しか頭になかったです。

2,3時間ほど話したあと、彼女が『シャワー浴びるから、見ないでね恥ずかしいし』と言ったので「お、おう・・」と緊張ぎみに答えました。彼女がバスローブで出てきたので、俺は確実にHモードになってしまいました。

俺もシャワーを浴び、バスローブに着替え出ると、彼女はベッドで横になってました。
『眠いから電気消して?』「お、おう・・・」

10分後
『ねぇ、こっち来て?一緒に寝よう?』
「え、マジでいってんの?」『うん』

隣に寝て心臓がバクバクな俺、でもヤっちゃダメだと思いそっぽを向く俺 。官能と葛藤中の俺に
『ねぇ?私H好きなの。しよ?』「え!?う、うん・・」薄暗い部屋でバスローブを脱がし合いキス、愛撫をし、お互いが絶好?に達していた時
『入れていい?』と彼女。「うん・・・え???ん?」
『入れていい?』
「え?ん???」
『私チンコ付いてるの』
「・・・・・・はい??」以下は省略させて頂きますが、新手の詐欺に遭いました(ry)


12 :名無し~3.EXE:2008/09/15(月) 11:10:06 ID:2ntHBen4
PowerShell V2 Add-AcceleratorType function
ttp://thepowershellguy.com/blogs/posh/archive/2008/09/12/powershell-v2-add-acceleratortype-function.aspx

Function Add-AcceleratorType ($name,[string]$type,$code) {

$code = @"
public class $name
{
public static $type New() {$code}
}
"@

Add-Type $code -ReferencedAssemblies System.DirectoryServices

}

けっこー便利、[hoge]:: の時標準のTabExpansionも有効だし

13 :名無し~3.EXE:2008/09/17(水) 00:29:30 ID:rOacNyX+
Windows PowerShell: Windows PowerShell 2.0 のリモート管理の概要
http://technet.microsoft.com/ja-jp/magazine/cc718988.aspx

14 :名無し~3.EXE:2008/09/18(木) 18:15:37 ID:gtYRer6s
ttp://japan.zdnet.com/sp/feature/07microsoft/story/0,3800083079,20380552,00.htm
筆者はまた、「Graphical Console」別名「PowerShell Version 2」が、
この最新のWindows 7プレリリースビルドに含まれているようであることに気がついた。

ちゃんと2.0入れる予定らしくて何より

15 :名無し~3.EXE:2008/09/22(月) 22:38:27 ID:KLG87oyZ
この題名でシリーズ化するんかな

Managing Active Directory with Windows PowerShell
ttp://www.amazon.com/Managing-Active-Directory-Windows-PowerShell/dp/0977659798/
ttp://blog.sapien.com/index.php/2008/09/22/managing-active-directory-with-windows-powershell-in-print/

COMING SOON Managing VMWare with Windows PowerShell
ttp://www.sapienpress.com/vmware.asp

16 :名無し~3.EXE:2008/09/23(火) 01:33:14 ID:nBIfihnh
XenDesktop 2.1 and PowerShell SDK
ttp://community.citrix.com/blogs/citrite/christiang/2008/09/22/XenDesktop+2.1+and+PowerShell+SDK

17 :名無し~3.EXE:2008/09/23(火) 21:01:20 ID:494pwEvc
Windows7搭載のPowerShell
http://www.thinknext.net/content/2008/09/win7/powershell.png
http://www.thinknext.net/archives/2268

18 :名無し~3.EXE:2008/09/25(木) 21:17:06 ID:D8Kf9Wgf
最新のPowerGUIインスコしたらエディタの方にプロンプト付のコンソールウインドウが付いてた
マウスとショートカットキーでコピペできるから本家より便利、Win2kでも動作確認
PowerGUI始まったな

19 :名無し~3.EXE:2008/09/26(金) 16:59:48 ID:4jeZDisr
しかし半端ない過疎り方だな。
cmdと比べてはるかに複雑で.NETの知識も必要だから
プログラム板とかじゃないと人来ないんじゃないかw

20 :名無し~3.EXE:2008/09/26(金) 19:01:26 ID:KY51cGoO
間違いなくcmdの方が難しい

21 :名無し~3.EXE:2008/09/26(金) 23:48:02 ID:j6pKULy6
まずは一般に普及しているOSに標準搭載されてから。話はそれからだ。

22 :名無し~3.EXE:2008/09/28(日) 00:57:46 ID:U42kulnW
その前にWindows2000をサポートしろと。

23 :名無し~3.EXE:2008/09/28(日) 02:44:21 ID:ZtNJCgIB
こんな需要あるんだねぇ
ttp://rikunabi-haken.yahoo.co.jp/h/r/HS1B075n.jsp?cmd=SEARCH&g=T&s_Code=0336214017&work_Cd=cmc055645&pre_Function=5

ていうかその本がテキスト・・・

24 :名無し~3.EXE:2008/09/28(日) 03:15:08 ID:ZtNJCgIB
ぐぐったら講習内容出てきた
ttp://www.nagoya-sc.co.jp/ap/seminar?m=1&key=8994

受けた人ががっかりしなけりゃいいけど

25 :名無し~3.EXE:2008/09/28(日) 18:42:58 ID:ejF0SV5L
PowerShell&win鯖&講師の経験があって平日バイトOKな人っているんだろか

26 :名無し~3.EXE:2008/09/30(火) 22:20:25 ID:sRneCn/D
Windows PowerShell Get-Enjoy コンテスト結果発表
http://www.microsoft.com/japan/windowsserver2008/countdown2008/powershell/default.mspx

こんなのあったんだね
MSはPowerShellに本気で取り組んでると思っていいのかなー?
いまだに量りかねるものがある
2K(server)は除外とか、標準サポートはWindows Server 2008のみとか

27 :名無し~3.EXE:2008/09/30(火) 22:38:42 ID:pa/Q1hxC
そこで紹介されてるVisioのツールは本社でも翻訳作業が進んでるみたいなこと7月にMVPが言ってたけど
それから2ヶ月ほど梨のつぶて

28 :名無し~3.EXE:2008/10/01(水) 09:49:04 ID:EL1sbOmN
Windows7に載る頃にはバージョン3になってそこからが本番じゃね?

29 :名無し~3.EXE:2008/10/01(水) 11:49:00 ID:A1R92k2q
V2が完成するのが来年なんだからそれはない

30 :名無し~3.EXE:2008/10/01(水) 14:24:46 ID:VEwM6m1I
最近だとVMwareの方が熱心だな、PowerShellの広報は。

31 :名無し~3.EXE:2008/10/02(木) 11:50:02 ID:g78qoo4J
これcmdのプロンプトから通常のスクリプト的に呼び出すことって無理なの?
pathextに.ps1登録して
foo.ps1を
>foo
って呼び出すようなかんじで

32 :名無し~3.EXE:2008/10/02(木) 13:05:05 ID:Vx21yPlG
>>31
関連付けがメモ帳になってるから、それをPowerShellにしてやればいい

33 :名無し~3.EXE:2008/10/02(木) 14:59:31 ID:O7TJFxGA
POWERSHELL ANALYZER NOW 100% FREE
http://www.shelltools.net/

だそうだぞ

34 :名無し~3.EXE:2008/10/02(木) 16:55:11 ID:O7TJFxGA
オラ本きたわー

Windows PowerShellクックブック
ttp://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?&ISBN=978-4-87311-382-1

これの邦訳
ttp://www.amazon.co.jp/Windows-Powershell-Cookbook-Dean-Tsaltas/dp/0596528493

35 :名無し~3.EXE:2008/10/02(木) 20:11:02 ID:r76Nyc7D
C++クックブック
http://www.oreilly.co.jp/books/4873113032/
Flashクックブック― タイムライン派のための実用レシピ集
http://www.oreilly.co.jp/books/9784873113197/
Javaクックブック― Java開発者のためのレシピ集
http://www.oreilly.co.jp/books/4873110955/
Python クックブック 第2版
http://www.oreilly.co.jp/books/9784873112763/
Rubyクックブック― エキスパートのための応用レシピ集
http://www.oreilly.co.jp/books/9784873113241/

http://www.oreilly.co.jp/books/cookbook/
このへん読むとクックブックって中・上級者向けみたいだが
はじめて取り組もうかと思ってる人が買う本ではない?

36 :名無し~3.EXE:2008/10/02(木) 21:52:49 ID:tRVnRKZu
>>35
そういう人には PowerShell in Action かもしくはプログラマブルPowerShell を勧めるな、俺なら

>>33
例によって例のごとく2000でも動作確認

37 :名無し~3.EXE:2008/10/02(木) 22:34:17 ID:r76Nyc7D
>>36
本屋で中身の確認は必須なんだろうけどできないこともあって泣ける
あと、本の買い方にもあまり自信が無かったりする(後で後悔したり
だから助かります。ほんとにレスありがとう


38 :名無し~3.EXE:2008/10/02(木) 23:19:13 ID:Fl7tFPhU
>>31

powershell .\foo.ps1

とかやればいいと思うが。

39 :名無し~3.EXE:2008/10/03(金) 22:25:45 ID:q+w91gdI
>>36
プログラム関連の書籍はこんな感じで大別出来ると思いますが
入門書
リファレンス、辞典逆引き
仕様書
サンプル集

PowerShell in Action は仕様書、プログラマブルPowerShell は入門書になるのかな

40 :名無し~3.EXE:2008/10/03(金) 23:03:45 ID:q+w91gdI
まずはこの辺を揃えるのが良いでしょうか?
>>36さんのお勧めと、気になったものをピックアップしてみました
入門書   :プログラマブルPowerShell
リファレンス:Windows PowerShell ポケットリファレンス
仕様書   :PowerShell in Action
サンプル集 :Windows PowerShellクックブック

コンピュータ全般の知識はそこそこある。自力でトラブルシュートはできる。
DOSバッチが少々書ける程度で他プログラミングの経験は無い。
バッチは出来ないことが多いのでPowerShellを覚えようと思った。
用途は日常のPC操作や処理の自動化などの趣味の範囲。
長い目で見て仕事で使える腕前になれれば嬉しいです。

41 :名無し~3.EXE:2008/10/03(金) 23:10:36 ID:VTvDbSKG
fortuneみたいに一日一テクランダムに授けてくれるサイトが欲しい。
あんまり端からガチガチに勉強するようなもんでもないんだし。
とin actionを買っといて愚痴ってみる。

42 :名無し~3.EXE:2008/10/04(土) 00:19:50 ID:Sy+hvvW2
>>40
そういうことならプログラマブル〜の方がいいと思うよ
インアクションもちゃんと入門書してるけどね

>>41
つ ttp://blogsearch.google.co.jp/blogsearch?hl=ja&ie=UTF-8&q=PowerShell&lr=&scoring=d&as_drrb=q&as_qdr=d

43 :名無し~3.EXE:2008/10/04(土) 00:26:03 ID:Sy+hvvW2
こっちのがいいか
ttp://powershellcommunity.org/

44 :名無し~3.EXE:2008/10/04(土) 08:15:09 ID:9C7RK4Qe
>>40
>バッチは出来ないことが多いのでPowerShellを覚えようと思った

WSH覚えてもいいんじゃないの?

45 :名無し~3.EXE:2008/10/04(土) 08:18:25 ID:WidUG/pk
wsh、vbsはシェルスクリプトじゃないからな。
どうもあの小汚い文法には馴染めなかった。PSに感じる違和感も半端ないが。

46 :名無し~3.EXE:2008/10/04(土) 20:22:41 ID:Q9bsNS0S
cmdから他に移行すればどれにでも違和感覚えるのは間違いない

47 :名無し~3.EXE:2008/10/04(土) 20:44:43 ID:Q9bsNS0S
>>40見てて思ったけどcmdを使ってた人の為に書かれたPowerShellの本てないな
cmdでこうだった部分がこうなってるよって言うのを要所要所で解説してるはいるけど


某11の人、書いたらどうよ? 「コマンドプロンプトユーザーの為のPowerShell入門」

48 :名無し~3.EXE:2008/10/05(日) 02:54:14 ID:/pWgBAFs
>>40
つ Perl
マジオヌヌメ。

49 :名無し~3.EXE:2008/10/06(月) 04:28:27 ID:HauI1IlZ
>>48
Perl、Python、Rubyって
CMDやシェルと同じこと(似たようなこと?)ができると思っていいの?

50 :名無し~3.EXE:2008/10/06(月) 09:08:26 ID:gNsJKZ39
シェルスクリプトとスクリプトに厳密な区別はないよ。
雑に言えば外部コマンドを内部コマンドと区別なく'', ""なんかで囲まずに呼び出せるかどうかが違うだけ。
どっちも不慣れならまず
>Perl、Python、Ruby
を覚えた方がカバーできる領域は広い。

51 :名無し~3.EXE:2008/10/06(月) 11:33:01 ID:kkpMgkN4
しかしそれがめんどくさい人の為にシェルがあるんだと思うが。

52 :名無し~3.EXE:2008/10/06(月) 12:50:37 ID:zkStRBZG
マシンがしょぼいせいかどうもPowerShellは
小気味よく動く書き捨てシェルスクリプトって感じがしないんだよな。
今週マシン新調する予定だから、それでcmd並にお手軽に使えるようになるのかね。

もっさり起動さえ気になってなければPS一本でも十分なのかもしれないな。

53 :名無し~3.EXE:2008/10/06(月) 14:14:52 ID:4EEK36fM
だから真っ先に>>2で起動の高速化をテンプレに加えといたんだぜ?

54 :名無し~3.EXE:2008/10/06(月) 23:06:23 ID:obU/Z1aO
高速化ってどうしても怪しげな響きがしちゃうよなw
PowerShellの場合は、MSの中の人ブログでも公認の手法だったりする。
http://blogs.msdn.com/powershell/archive/2008/07/11/speeding-up-powershell-startup.aspx
「PowerShell V1には、インストール時にngenが行われない問題がある」ってことだそうで。

55 :名無し~3.EXE:2008/10/06(月) 23:18:25 ID:n61aG2J3
バッチがちょびっとできるくらいで
shell書いたことないインフラ屋に適したPowerShellの入門書ないですかね


ちなみに>>40の↓は難しそうでした・・・
>>入門書   :プログラマブルPowerShell

56 :名無し~3.EXE:2008/10/07(火) 00:13:12 ID:GxdcJuZk
>>55
こういう本読みなれてないだけなんでね
PDFでいいなら
ttp://download.microsoftvirtuallabs.com/download/8/a/7/8a71365b-4c80-4e60-8185-8f12f59bf1d4/loc/Windows_PowerShell_manual.pdf
とか入門向けの資料は検索すれば出てくる

57 :名無し~3.EXE:2008/10/07(火) 05:06:15 ID:A+FIJxu6
MSのくせにPDFなんて糞フォーマット使うなよ。
HTMLでオケ。

58 :名無し~3.EXE:2008/10/07(火) 06:54:08 ID:I3LC9M48
XPSを使わなかったことを褒めてやれよ

59 :名無し~3.EXE:2008/10/07(火) 08:28:51 ID:w3u8k31b
>>55
PowerShellの本自体がまだそんなに出てない。
他に入門になりそうな本っていうと
Windows PowerShell宣言!
Windows PowerShell ポケットリファレンス

PowerShell宣言!もどちらかというとレシピ集的な本だが。「プログラマブル〜」ほどプログラマ向けには振ってないと思う。
ポケットリファレンスの方は読んだことないが名前からしてリファレンスだよな…。
Webの入門記事みたいなのはそれなりにあるから、そういうのもあさってみるといいんじゃないかね。

60 :名無し~3.EXE:2008/10/07(火) 18:48:07 ID:xVh3+xF4
>>50
>シェルスクリプトとスクリプトに厳密な区別はないよ。
いや、そんなことはない。

シェルは、外部コマンドを利用するのが前提。
スクリプトは、基本的に他に依存せずに処理できる。


61 :名無し~3.EXE:2008/10/07(火) 18:51:43 ID:dJhG0Wnh
じゃあPowerShellはシェルスクリプトじゃないね。

62 :名無し~3.EXE:2008/10/07(火) 18:58:36 ID:xVh3+xF4
>>55
インフラ屋なのに、Perlとかも知らないの?

それはともかく、PowerShellってドトネトのオブジェクトや
ライブラリとかの知識がこっそり前提になってたり
するんで、すっぴんからはちょとしんどいんじゃね。

まー、がんばれや。

63 :60:2008/10/07(火) 19:04:22 ID:xVh3+xF4
>>61
あー。

いやでも、外部コマンドのかわりに、ドトネトに依存
しているという意味で、一種のシェルだとオモ。

64 :名無し~3.EXE:2008/10/07(火) 21:03:34 ID:7pGLRx9D
スクリプトエンジンなのに、いきなりスクリプト実行禁止に設定してあってびっくらする
マイクロソフトらしからぬ用心深さ


65 :名無し~3.EXE:2008/10/07(火) 21:50:59 ID:z0cCGQxX
VBScriptで好き放題された経験があるからなあ

66 :名無し~3.EXE:2008/10/07(火) 22:18:04 ID:u0cp70/Z
PowerShellを使えばEnglishの言語仕様や標準ライブラリを覚える苦痛から解放されますか?




67 :名無し~3.EXE:2008/10/07(火) 22:23:25 ID:8K1O6pfD
日本語はずれまくりんぐ

68 :名無し~3.EXE:2008/10/07(火) 23:33:04 ID:/LNtA1Xt
シェルは外部コマンドの利用するものなんて定義はじめて聞いた

シェルってOSの殻(UI)っていみだから、対話利用を前提に作られたもののことでしょ

sh系はシェルとしてもともと作られていたものからスクリプト機能が付け加えられたから
シェルスクリプトで、perlやrubyは対話利用も出来るけど基本はスクリプト言語

PowerShellも対話利用がベースだから普通にシェルじゃん

69 :名無し~3.EXE:2008/10/09(木) 09:07:40 ID:FNN8gfvG
>>68
対話利用前提って、バッチ処理じゃなきゃふつうはそうじゃね。w

70 :名無し~3.EXE:2008/10/09(木) 09:45:37 ID:Bcg5+VxJ
PSはMSにしては結構な野心作なんだから
古い定義による線引きなんて意味ないよ。

71 :名無し~3.EXE:2008/10/09(木) 12:56:51 ID:jrd2AQje
>>70
MSの野心作か。
なんか縁起が悪そうだな。w


72 :名無し~3.EXE:2008/10/09(木) 18:56:05 ID:R/GN8Hc9
>>40>>55は何か解決したん?おいちゃん相談乗ったげるよ?

73 :名無し~3.EXE:2008/10/10(金) 12:30:35 ID:pYt3nZwU
Windows PowerShell 実践システム管理ガイド
ttp://www.7andy.jp/books/detail/-/accd/R0378022
既刊書「Microsoft Windowsコマンドライン活用ガイド」のPowerShell版。
従来型のGUIベースの管理に代わる、CUIベースの管理手法を解説。

というわけでこれ↓のPowerShell版らしい
ttp://ec.nikkeibp.co.jp/item/books/587500.html

74 :名無し~3.EXE:2008/10/10(金) 21:06:15 ID:wMcAB9/o
>>49 cmdよりずっと多くのことができる。ただし、速度の面で難があったりもする。

75 :名無し~3.EXE:2008/10/14(火) 05:58:59 ID:SIaSASnh
ガーリックナンおいしいよね

76 :名無し~3.EXE:2008/10/14(火) 13:09:56 ID:dAH0zSjs
>>74
cmdとPerlとかを比べる文脈で、速度の話に
どんな意味が。
PerlはもちろんRubyだって、cmdのかわりに
使うぶんには遅くて困ることなんかないだろ。


77 :名無し~3.EXE:2008/10/15(水) 00:04:44 ID:CsWMUKfH
ttp://blogs.msdn.com/powershell/archive/2008/10/14/gogrid-snap-in-managing-cloud-services-with-powershell.aspx
> as you’ll see at the PDC and our next CTP

まさかのCTP3wwwwww

78 :名無し~3.EXE:2008/10/18(土) 11:50:36 ID:vkXtcIdA
DLR統合してくれたら面白いのになぁ。
でも今更無理か。

79 :名無し~3.EXE:2008/10/18(土) 12:12:34 ID:/X2GysLa
Dottiyo? Left? Right?

80 :名無し~3.EXE:2008/10/18(土) 15:12:14 ID:mp3xP09g
はっきりCTP3って言葉を使い出してきた
ttp://blogs.msdn.com/powershell/archive/2008/10/18/emit-xml.aspx
cmdletキーワードはなくなってfunctionに統合されるらしい

さーパパwktkしてきたぞー

81 :名無し~3.EXE:2008/10/19(日) 11:22:46 ID:VjJfMNqA
>>78
ぱっと出てこないんだけど、何か思いつくような利点あるの?

82 :名無し~3.EXE:2008/10/22(水) 11:47:48 ID:5d9regLQ
utf8なテキストをコマンドプロンプトで表示する
ttp://blog.mogya.com/2007/11/utf8.html

これと同じ操作をしてもPowerShellだとうまくいかない
ぼすけて、いや困ってないけど

83 :名無し~3.EXE:2008/10/22(水) 14:58:56 ID:oIMYoxuQ
>>82 テキストがUTF-8ではないのか、あるいは、Powershellが壊れているんだろう。

84 :名無し~3.EXE:2008/10/22(水) 15:50:19 ID:ffMXJ8uM
>>82
PowerShellって内部文字列はユニコードだから、画面に出すときは自動でShiftJISに変更してるんじゃ。
まぁ -encoding UTF8 で表示すればすむ話だと思うけど。

85 :名無し~3.EXE:2008/10/22(水) 23:15:27 ID:mk2+shZL
>>83-84
もう一度やってみたら出来たー、り、出来なかったり
テキストファイルじゃなくて出力がUTF8なネイティブコマンドの場合どうなるのか知りたかった
$OutputEncodingとか[Console]::OutputEncodingを弄ると良くないのかな
もうデフォルトがなんだったのかも分からん

86 :名無し~3.EXE:2008/10/23(木) 09:48:32 ID:a9J6XFjC
UTF8で書かれたファイルを表示したいだけなら、type -encoding utf8 *.txt でできる。
この場合、UTF8で書かれたファイルの内容が一度UTF16に変換され、さらにシフトJISに変換されて表示される。
最終的にシフトJISになるので、その範囲外の文字は「?」になってしまう。

シフトJISをからめたくない場合は、chcp 65001を実行した後、
その上からさらにPowerShellを起動すれば良い。
> chcp 65001
> powershell
> type *.txt
上記のようにすれば、UTF8で書かれたファイルをそのまま表示できる。
これならば、シフトJIS範囲外の文字も表示できるし、
UTF8を出力するコマンドも扱える。


87 :名無し~3.EXE:2008/10/23(木) 23:52:55 ID:TvP3l7zH
PowerShellクックブック買ってきた。相変わらず分厚いな。
最初から読めばある程度入門的にも読めるかも? コマンドラインくらいの知識は必須だが。

88 :名無し~3.EXE:2008/10/24(金) 11:01:38 ID:5jjGg1+3
Get-ContentはBOM付きテキストは自動でエンコード判別してくれるんだよな
逆にAdd/Set-Contentは必ずBOM付けちゃうけど、できれば選択制にして欲しい

89 :名無し~3.EXE:2008/10/26(日) 08:35:55 ID:rJRbRx9S
PowerShell Tips
http://www.atmarkit.co.jp/fwin2k/win2ktips/index/win2ktipsindex.html#powershell

90 :名無し~3.EXE:2008/10/27(月) 09:53:48 ID:4LjV4Z33
PowerShellのPDCセッション最終日か、金曜までCTP3のスライドお預けだな

91 :名無し~3.EXE:2008/10/29(水) 03:45:31 ID:98YJ70Yn
PowerShell will be installed by default on Windows Server 08 R2 (WS08R2) and Windows 7 (W7)!
ttp://blogs.msdn.com/powershell/archive/2008/10/28/powershell-will-be-installed-by-default-on-windows-server-08-r2-ws08r2-and-windows-7-w7.aspx

今度はしっかりServer Coreにもインストールできるみたいね
まあでもこの発表は2年前にVistaで聞きたかった

92 :名無し~3.EXE:2008/10/29(水) 09:58:11 ID:9BvBRmp3
> The reason why I'm counting Troubleshooting is because it is all PowerShell based!

93 :名無し~3.EXE:2008/10/29(水) 10:13:35 ID:9BvBRmp3
> Now, how about giving us an easy way of putting it on all our existing XP/Vista workstations without SMS.

We understand the need but have nothing to announce. Probably won't for a few quaters.

どういうこっちゃ

94 :名無し~3.EXE:2008/10/30(木) 01:27:28 ID:VgQ8WwnP
こっちにもWindows 7にPowerShell 2.0が入るって書いてある。
Windows 7 Developer Guide 
http://code.msdn.microsoft.com/Win7DeveloperGuide/Release/ProjectReleases.aspx?ReleaseId=1702

95 :名無し~3.EXE:2008/10/30(木) 01:51:35 ID:zAvh2pfR
PowerShell全方位射撃ktkr
574 Reasons Why We Are So Proud and Optimistic About W7 and WS08R2
ttp://blogs.msdn.com/powershell/archive/2008/10/29/574-reasons-why-we-are-so-proud-and-optimistic-about-w7-and-ws08r2.aspx

96 :名無し~3.EXE:2008/10/31(金) 10:47:15 ID:maivrjWx
PowerShell対数増殖期突入
ttp://blogs.msdn.com/powershell/archive/2008/10/31/powershell-ise-and-visual-studio.aspx
PowerShell's Integrated Scripting Environment (ISE) actually uses an editor control
which uses the same technology that will be in the next version of Visual Studio.

97 :名無し~3.EXE:2008/10/31(金) 10:59:34 ID:maivrjWx
いやエディタコントロールがVSのものになるってだけか・・・

98 :名無し~3.EXE:2008/11/01(土) 01:01:23 ID:0dPkZRpM
http://www.google.com/trends?q=Power+Shell%2CWSH&ctab=0&geo=all&date=all&sort=0

99 :名無し~3.EXE:2008/11/01(土) 01:14:50 ID:wcsmF8OW
ISEのスクリーンショット
ttp://blog.yozora.org/2008/10/31/windows-7/
ttp://blog.yozora.org/wp-content/uploads/2008/10/win7_15.jpg

なにやら見慣れないコマンドがちらほらと
今度はネイティブコマンドとEnterだけで改行できるようになってるかなー

100 :名無し~3.EXE:2008/11/01(土) 14:35:05 ID:1dxhTaBt
PDCセッション
ttp://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/ES24.wmv
ttp://blogs.msdn.com/powershell/attachment/9027085.ashx


CTP3は12月・・・ゆっくりしていってね!!

101 :名無し~3.EXE:2008/11/03(月) 19:35:14 ID:iQAQBF7J
>>98
PowerとShellの間にスペース入れるな
なんで2004年にPowerShellが検索されてんだ?って思ったじゃないか

http://www.google.com/trends?q=PowerShell%2CWSH&ctab=0&geo=all&date=all&sort=0


102 :名無し~3.EXE:2008/11/04(火) 01:20:13 ID:BT1FrODa
スマソorz

103 :名無し~3.EXE:2008/11/04(火) 20:36:44 ID:wIu9U0O9
フリーのPowerShell用フォームデザイナ

Free PrimalForms tool for PowerShell released
ttp://blog.sapien.com/index.php/2008/11/03/free-primalforms-tool-for-powershell-released/

選べるのは標準コントロールだけで、スクリプトエディタはないけど無料というのが素晴しい
2年足らずでここまで来るんだからPowerShellはほんとサードパーティに恵まれてるわ

104 :名無し~3.EXE:2008/11/04(火) 21:20:43 ID:Pf8cVovr
>>103
スゲー
ここまでくると C#でいいや('A`)

メモ:
http://www.10minutemail.com/10MinuteMail/

105 :名無し~3.EXE:2008/11/04(火) 22:05:10 ID:ItkSYboJ
バルーンでテキスト出すのってどうやるの?

106 :名無し~3.EXE:2008/11/05(水) 20:57:17 ID:/DNyvaI1
>>27
ようやく完了したみたい
PowerShell for Visio
ttp://visiotoolbox.com/downloads.aspx?resourceid=2

>>105
それだけじゃ状況が全く分からない

107 :名無し~3.EXE:2008/11/07(金) 20:06:28 ID:dI58RV0S
次のCTP/Betaが出てから更に1年かかるらしい

PowerShell v2 Release Schedule
ttp://dmitrysotnikov.wordpress.com/2008/11/06/powershell-v2-release-schedule/
Here at TechEd EMEA Jeffrey Snover has just announced detailed release schedule for PowerShell v2 (currently available as CTP 2):

December 2008 - CTP 3 (Community Technology Preview) or Beta 1 if it meets the internal criteria and all names/features are finalized.
RTM - end of 2009/early 2010 as part of Windows 7 and Windows Server 2008 R2.
RTM for XP, 2003, Vista, and 2008 - as a downloadable package (with new WinRM bundled in there) a few months after that (that is H1 2010).

さすがJeffrey!俺達におれたちにできない事を平然とやってのけるッ
そこにシビれる!あこがれるゥ!

108 :名無し~3.EXE:2008/11/07(金) 21:27:59 ID:ngm3q2tM
ということは、Windows7に標準搭載はしないの?

109 :名無し~3.EXE:2008/11/07(金) 21:29:59 ID:vPJsp+UY
>>108
これをどう読んだらそういう結論になるの?

>RTM - end of 2009/early 2010 as part of Windows 7 and Windows Server 2008 R2.

110 :名無し~3.EXE:2008/11/07(金) 22:44:41 ID:ngm3q2tM
英語読めない

111 :名無し~3.EXE:2008/11/08(土) 11:22:10 ID:zHj+Vw5N
上でPerl Ruby Phthon覚えたほうが適用範囲が広いとか言ってる人いるけど、
環境がWinっていうことではさすがに、PowerShellの方がよっぽど便利だと思うよ。
いいわーこれ。これで、Win上の疑似的なUnix環境(cygwin)からおさらばできる。
と思ってたら。moreライクなページャは我慢ならんな。
"lv -Os"をAliasしようとするとスイッチNGって・・・orz
lvs ってfunction作りました。結局、Cygwinのお世話に・・・
思うように動かなくて、パイプで渡されるオブジェクト調べるはめになったり
.netに精通してない俺にはなれないことも多いけど、
コマンドライン環境として、これなら十分満足
SS2からプログラム環境としてBSDでやってきたけど、
winをメインにやっていこうって決心がようやくできました。


112 :名無し~3.EXE:2008/11/08(土) 12:12:07 ID:SZWU7ZVb
そんな君の為に>>2のテンプレにあるコマンド対応表を見るとPSCXにlessコマンドがあるんだなというのが分かるようになっているわけだ

113 :名無し~3.EXE:2008/11/08(土) 14:06:12 ID:zHj+Vw5N
教えてくれてありがと
ホホー、extension コミュニティなんてあるんだ。
ありがたくダウソさせてもらった
けど、ここにあるless.exe使うんなら、
Cygwinにあるlv.exeやless.exe使うのと変わらんと思うけど?
PoerShellだけでどうやってんのかすっごく興味あったけど、
他の言語で.exe作るならまぁできるわね。俺はAlias lvs lv -Osを以下でごまかした。

$OutputEncoding = [Console]::OutputEncoding
function global:lvs(){
 if( $args -ne ""){
  foreach($i in $args){
  lv -Os $i
} else {
  $lines = @($Input);
  $lines | lv -Os
 }
}

PS:
extensionインストールした後で、
PATH見ると最後にextensionディレクトリをアペンドしてるだけで明示的に指定しない限り
その前にセットしたディレクトリ中のコマンドが影響受けるんじゃないとわかってホットした。
あと、プロンプトは元に戻した

114 :名無し~3.EXE:2008/11/08(土) 15:02:16 ID:SZWU7ZVb
Exactly(その通りでございます).

115 :名無し~3.EXE:2008/11/09(日) 08:04:28 ID:/Hh5bOhU
引数がPathのコマンド import-csvとかって
相対パスが使えないのな。.\hoge.csvとかしてもダメ。
そこでpwdと繋げたろ、とか考えたんだが
ふと気付けば`pwd`みたいなコマンド展開ってないんだよな?
ないんだよな?
実はあるって言ってくれー!

116 :名無し~3.EXE:2008/11/09(日) 11:19:17 ID:XUQ/kyLQ
"$(pwd)\hoge.csv"
(pwd).Path + "\hoge.csv"

117 :名無し~3.EXE:2008/11/09(日) 14:21:09 ID:zjRmeERF
>>115

Import-Csvは相対パス使えるでしょ?
.\hoge.csvも..\hoge.csvも動いたよ。


118 :名無し~3.EXE:2008/11/09(日) 14:57:46 ID:6z0MbqnQ
cd C:\Windows
$x=pwd
$x

Path
----
C:\WINDOWS

119 :名無し~3.EXE:2008/11/09(日) 15:16:56 ID:6z0MbqnQ
まだ1月しか触ってないけどPerl+bashでできることでPowerShellにできないことってないんじゃない?
Tcl/Tkみたいなこともできるし。そんな表面的なことよりもっと奥深い印象
Rubyのようにcomplexは扱えないけど
逆にシェルスクリプトになんでcomplex実装したのかのほうが疑問?

120 :名無し~3.EXE:2008/11/09(日) 17:57:09 ID:uVh0/LEE
$$や$^を使いこなせる人はそういないだろうけど
$PWDくらいは使おうぜ

121 :名無し~3.EXE:2008/11/09(日) 19:47:54 ID:uVh0/LEE
v2.0 CTP2のTabExpansionを物凄く適当に1.0に移植してみた
ttp://cid-40405a7c2ae2b5b7.skydrive.live.com/self.aspx/TabExpansion/tab.ps1

122 :名無し~3.EXE:2008/11/09(日) 20:00:36 ID:KWEJQAhQ
>>119 マルチスレッドとファイルマッピングオブジェクトが使えればなぁ、と常々思う。

123 :115:2008/11/10(月) 06:42:40 ID:EXcprUZN
>116-
レスども。しかしどれやってもうまく行かないのは何でだろう。
こんなかんじ。

PS C:\home\orz\csv> Import-Csv (pwd).Path+"code1.csv"
Import-Csv : パラメータ名 '+code1.csv' に一致するパラメータが見つかりません。
発生場所 行:1 文字:11
+ Import-Csv <<<< (pwd).Path+"code1.csv"

ちなみにMSSQL2008のExpress Edition入れた時ついてきたPowe Shellで
バージョンは確かめられない(-vしても出ねーし「プログラムの追加と…」に入ってねーし)
けど、インスコされたフォルダ名にv1.0というのが入ってた。環境はXP、Professional
なんか変なのかな?

124 :名無し~3.EXE:2008/11/10(月) 10:41:04 ID:I23Naipb
>>123
(pwd)じゃなくて
$(pwd)だぞ。

125 :124:2008/11/10(月) 11:07:48 ID:I23Naipb
間違い。$の有無じゃなかった。
Import-Csv ((pwd).Path+"\code1.csv")
もしくは
Import-Csv "$((pwd).Path)\code.csv"
だな。

直接書いたときと引数のときで解析の仕方が変わるからこの辺ちょっとややこしい。
> Import-Csv (pwd).Path+"code1.csv"
でだめなのは、「(pwd).Path+"code1.csv"」がそのまま一つの文字列と認識されてしまうため。

詳しくは
help about_Parsing
を参照。

126 :名無し~3.EXE:2008/11/10(月) 13:54:43 ID:R3Q/ZpBR
>>122
マルチスレッドはNew-Delegate使えば一応出来るよ
ttp://flamework.net/archives/3

127 :名無し~3.EXE:2008/11/10(月) 15:02:23 ID:EcNm7BOb
>>126 なるほど〜感謝感謝。

128 :名無し~3.EXE:2008/11/10(月) 23:31:31 ID:SGt30ekm
>>121
多分$env:aとか$array[0].aとかで補完効くように更新

129 :名無し~3.EXE:2008/11/11(火) 01:50:11 ID:JS3N0Yi1
ttp://fixunix.com/linux/553555-windows-powershell-vs-bash-examples-7.html

Jefferyさん何やってんすかwwwwwwwww

130 :名無し~3.EXE:2008/11/11(火) 01:58:44 ID:JS3N0Yi1
まあちゃんと?ver3.0も作っていく予定みたいで期待

131 :名無し~3.EXE:2008/11/11(火) 02:45:55 ID:y+UaBcu9
>>125
こう書くと余計なことを考えなくても済むと思う。
Import-Csv($pwd.ToString()+"\code1.csv")

俺は新機能なんかどうでもいいから
早く Excel2007 を 2003 同様に使えるようにして欲しい。
V2だといけるんだよね?
1.0に逆移植して、さっさと使えるようにして欲しい。

ExcelPackage も良さそうだけど、俺が欲しいのとは微妙にずれてる気がするなり。
http://www.codeplex.com/ExcelPackage

132 :名無し~3.EXE:2008/11/11(火) 02:52:30 ID:y+UaBcu9
Import-Csv($pwd.path+"\code1.csv")
やっぱこっちの方が楽だな。
打つ出し脳。


133 :名無し~3.EXE:2008/11/11(火) 10:06:35 ID:W/ezy01q
この例だと、
Get-Locationのaliasとしてのpwdと、特殊変数のPWDがあるせいでさらにややこしくなってるな。
$pwdって書くと変数の方で、(pwd)って書くとGet-Locationの返り値。
まぁ結果はいっしょなんだけど。

134 :名無し~3.EXE:2008/11/11(火) 10:07:52 ID:W/ezy01q
返り値って書いちゃうとおかしいね。出力結果ですな。

135 :名無し~3.EXE:2008/11/11(火) 10:35:23 ID:JS3N0Yi1
まあぶっちゃけ、 Import-Csv $pwd\code1.csv でいいわけだけども

136 :名無し~3.EXE:2008/11/11(火) 22:52:44 ID:eBTYzG1Q
変数を書く位置によって解釈が変わるのか。
ちょっとめんどいな。

つーかPathInfo型はデフォルトでString型に変換されるのかね。
その辺がよくわからん。

137 :名無し~3.EXE:2008/11/12(水) 03:37:36 ID:0FVh+Qth
コマンドモードでその引数が $ @ ' " ( 以外の文字で始まる時と
$ @ ' " ( で始まる引数に \ / が連続している場合は式モードにおいてその両端を""で囲ったのと同義、っていうだけ

""で囲った場合に任意の型がどのように型変換されるかは
Trace-Command -Expression {"$pwd"} -Option all -Name * -FilePath traace.txt
とかやって出力結果見てみればわかる

138 :名無し~3.EXE:2008/11/12(水) 04:02:12 ID:LEvZ+A5z
出力結果が凄すぎてわかりません><
"$pwd"がStringになるってだけならまあわかる。

Import-Csv($pwd\code1.csv)
これがうまくいかない理由はなんだろう?

139 :名無し~3.EXE:2008/11/12(水) 04:40:01 ID:0FVh+Qth
コマンドモードでも引数が $ @ ' " ( で始まる場合はその引数をそのまま式として評価する(上記の通り例外有)
($pwd\code1.csv) という式は先頭の $ の直後に { や ( がないので変数名と解釈されるけれど
$pwd\code1.csv なんて変数は存在し得ない(変数名に\は使えない)のでエラーになる

140 :名無し~3.EXE:2008/11/12(水) 04:52:53 ID:LEvZ+A5z
Import-Csv $pwd\code1.csv
でもこれだといけるね。

例外になるかならないかの理由がわかんない。

質問ばっかでごめん。
もう寝る。

141 :名無し~3.EXE:2008/11/12(水) 05:34:40 ID:0FVh+Qth
コマンドが先頭にある場合の解釈モードのことをコマンドモード
コマンドモードでは内部的には各引数が自動的に""で括られる Import-Csv code1.csv → Import-Csv "code1.csv"
例外的に引数の頭文字が $ @ ' " ( である場合はその引数を""で括らない Import-Csv $pwd → そのまま
しかしさらにその例外として \ / が付いている場合はやはり自動的に""で括られる Import-Csv $pwd\code1.csv → Import-Csv "$pwd\code1.csv"

142 :名無し~3.EXE:2008/11/12(水) 20:08:45 ID:QXyzGFh4
なんというページの無駄遣い

【ハウツー】ゼロからはじめるWindows PowerShell - 環境構築編 (1) PowerShellの概要.1
ttp://journal.mycom.co.jp/articles/2008/11/12/powershell/index.html

143 :名無し~3.EXE:2008/11/12(水) 23:11:28 ID:0f3/dhkY
>>141
なんだかうるう年の定義みたいだ。

144 :名無し~3.EXE:2008/11/13(木) 00:49:37 ID:46jmXmha
定義を追おうとすればややこしくはなるね
コマンドを実行する時はファイル名やパスを渡すことが多いから、それに配慮した感じ

Import-Csv "code1.csv" みたいに常に""で括るより Import-Csv code1.csv の方が自然
Import-Csv $pwd を Import-Csv "$pwd" のように解釈されると意図した型を渡せない
Import-Csv "$env:windir\code1.csv" が Import-Csv $env:windir\code1.csv と書ければ楽

145 :名無し~3.EXE:2008/11/13(木) 01:27:53 ID:V0ox5hDG
>>139 の説明の一部がちょっとだけ違う気がする。
$pwd\code1.csv でも $pwd"\code1.csv" でも、どっちもエラーは
「式またはステートメントのトークン '\code1.csv' を使用できません。」
だから、$pwdという変数はちゃんと解釈されていると思う。
式の最初が変数のとき、その直後に文字列なんか書いても文法に合わないっていうことじゃない?
$pwd-eq"\code1.csv" だとエラーが出ずにFalseだのTrueだの出るし。

Import-Csv($pwd-eq"\code1.csv")
ってやったら、Falseって名前のファイルを開こうとしてワロタw

146 :名無し~3.EXE:2008/11/13(木) 02:01:37 ID:1q4VY7Go
>>142
まだ日本語記事少ないし、基礎から入門ってのもいいんじゃねと思って見てみたが
…これはひどいwww

147 :名無し~3.EXE:2008/11/13(木) 02:34:58 ID:V0ox5hDG
>>142
いまどきはこのくらいやった方がいいのかも。
次回はコマンドの打ち方とヘルプの使い方かな。

148 :名無し~3.EXE:2008/11/13(木) 14:01:59 ID:WPGUO1ML
http://sankei.jp.msn.com/photos/economy/business/081113/biz0811131333008-p1.jpg

http://sankei.jp.msn.com/affairs/trial/081113/trl0811131124005-n1.htm
女性の背後からケータイで尻撮影…これ「卑猥」? 最高裁初判断

テレビのロケなんてほとんど犯罪やな。

149 :名無し~3.EXE:2008/11/13(木) 15:10:04 ID:5Z1iYNbG
>>146
ゼロからはじめて、とりあえず0.01ぐらいまで行った、って感じ?

150 :名無し~3.EXE:2008/11/14(金) 01:14:16 ID:L7Uvn4u9
Get-Helpとわざと入力間違いする以外の方法で-Encodingや-ExecutionPolicyの定数を習得する方法ってないもんかね

151 :名無し~3.EXE:2008/11/14(金) 01:16:31 ID:L7Uvn4u9
取得の間違い

152 :名無し~3.EXE:2008/11/14(金) 01:40:27 ID:A+R7elkP
質問があるのですが
*とかのワイルドじゃなくて~みたいなのを使ってProgram Filesのフォルダにアクセスするのってどういう記述でしたっけ?
C:\Program Files\hoge.exeにアクセスしたいのですが
スペースがある為C:\Programと認識されてしまいます。
*でワイルドにするとソフトが立ち上がるのが遅くなりますので~でやりたいです。

153 :名無し~3.EXE:2008/11/14(金) 01:52:46 ID:6VvyQFU0
>>152
8.3形式の短い名前のこと?

154 :名無し~3.EXE:2008/11/14(金) 04:12:34 ID:OPAP25YA
C:\Program Filesの代わりにC:\Progra~1ってやつか
それより
'C:\Program Files\hoge\hogehoge.exe'
でいいんじゃ?

プログラムを起動するなら&で
&'C:\Program Files\hoge\hogehoge.exe'


155 :名無し~3.EXE:2008/11/14(金) 11:10:48 ID:A+R7elkP
>>153-154
レスありがとうございます。
~1ってやつです。助かりました。

156 :名無し~3.EXE:2008/11/14(金) 11:29:09 ID:7kw2Pl5v
Changes from CTP2 in PowerShell 2.0 in the Windows 7 M3 “PDC” Build
ttp://www.nivot.org/2008/11/14/ChangesFromCTP2InPowerShell20InTheWindows7M3PDCBuild.aspx

ping終了のお知らせ・・・よりもはBits関連に注目するべきか

157 :名無し~3.EXE:2008/11/15(土) 01:22:50 ID:Nqpfe56j
Windows PowerShell 独自コマンドレットの開発
http://codezine.jp/article/detail/3191

158 :名無し~3.EXE:2008/11/15(土) 02:34:09 ID:BC9En8OX
>>150
(Get-ExecutionPolicy).gettype() とか Get-ExecutionPolicy | get-member
とかやって試してたら、 (Get-ExecutionPolicy).value__ で数字が取れたし
[microsoft.powershell.executionpolicy]0 とかでオブジェクトもとれたけど。

[microsoft.powershell.executionpolicy] | get-member -static でも
プロパティに出てくるし
[microsoft.powershell.executionpolicy]::GetValues("microsoft.powershell.executionpolicy")
でも一覧が出た。GetValues を GetNames にしたら、微妙に違うな。


159 :名無し~3.EXE:2008/11/15(土) 11:26:25 ID:jEjWBC/Q
演算子 < が使えないのは不便じゃないですか?

> でファイルは出力できても、< ができないのでデータをソフトに戻せません。
みなさんは < を使うときは仕方なく昔のコマンドプロンプト使ってるんですか?

160 :名無し~3.EXE:2008/11/15(土) 11:43:48 ID:Ftxb39q4
>>159
Get-Content とかでいいのでは

161 :名無し~3.EXE:2008/11/15(土) 11:48:52 ID:57TVri5I
in actionで<は次バージョンでサポートするのしないのといってたような

162 :名無し~3.EXE:2008/11/15(土) 17:53:39 ID:bcee+mY4
くっ


163 :名無し~3.EXE:2008/11/15(土) 18:30:50 ID:Fp6h69TY
試さずに言ってるけど、>>126利用して標準入力にデータ流し込めばできない?
標準入力しか受け付けないコマンドを久しく使っていない俺です

164 :名無し~3.EXE:2008/11/15(土) 18:55:38 ID:ixKzwyOI
なんで>>126なんだ?
>>160でいいだろ?

165 :名無し~3.EXE:2008/11/15(土) 19:41:05 ID:Fp6h69TY
あれ、標準入力しか受け付けないプログラムって command (type data.txt) と command < data.txt で同じなんだっけ・・・
コマンド実行して入力待ちになったら別スレッドでデータ読み込んでSendkey、みたいな感じを一瞬想像した

166 :名無し~3.EXE:2008/11/15(土) 21:48:50 ID:ixKzwyOI
ふつうパイプを使うだろ

167 :名無し~3.EXE:2008/11/15(土) 23:37:27 ID:Fp6h69TY
パイプ入力を受け付けない類のネイティブコマンドで<使えないからどうしようって話なんかなと

168 :名無し~3.EXE:2008/11/16(日) 05:17:38 ID:L+McnuSX
cmd.exeの引数に、文字列で渡してやれば行けそうな気がする。

169 :名無し~3.EXE:2008/11/16(日) 11:19:52 ID:e1OwLSt3
パイプ入力も、標準入出力も同じモノだと思ってたが、これって間違いなの?
hoge.exe < hoge.txt ができるなら
type hoge.txt | hoge.exe だって出来ると思ってた。(バイナリファイルは壊れますが)

170 :名無し~3.EXE:2008/11/16(日) 15:28:01 ID:+MSN7HFx
基本的なことで質問します。key=商品名, value=価格 を要素に持つ連想配列を用意します。
トータル価格を算出したいのです

$global:PCshopping = @{
"CPU" = "3.5";
"Memory" = "2";
"MB" = "4";
"GC" = "3";
"HDD" = "2";
"Case" = "3";
"PS" = "2";
};

$nameorder = ($PCshopping.GetEnumerator() | sort name);

[double] $Paying = 0.0;
foreach ( $x in $nameorder){
$Paying += $x.value
}

"Total Price = $Paying";

$Paying = 0.0;
foreach ( $x in $PCshopping.values){
$Paying += $x;
}

"Total Price = $Paying";




171 :つづき:2008/11/16(日) 15:32:34 ID:+MSN7HFx
問題なのはトータル価格算出の2つのforeachなのですが
並び替え後の $nameorderと並び替え前のPCShoppingは上のリストのように書かないと、
正しく動作しません。つまり、

foreach($x in $nameorder.values){
$Paying += $x
}

とか

foreach($x in $PCshopping ){
$Paying += $x.value
}

では動作しないんですが、これはどういう風に考えればいいのか理解出来ずにいます。
どなたかご教示くださいmOm
お願いします


172 :名無し~3.EXE:2008/11/16(日) 16:12:16 ID:+MSN7HFx
>>169
出力は3タイプ

write-host 標準出力
write-output パイプ出力
write-debug デバッグ出力

尚、他言語出力がどれに相当するかはいまいちよくわからない。
標準出力とデバッグ出力の区別はわかるけど、
標準出力とパイプ出力が違うってので、いろいろ混乱してる。
思うようなパイプ出力をハンドリングできてないというか・・・撃
あれこれやってみて、うまくいったり、あきらめたり。。。。

173 :名無し~3.EXE:2008/11/16(日) 17:11:32 ID:HYoFoab0
>>171
$PCshoppingはHashTable
$nameorderはDictionaryEntryの配列
クラスが違うから当然メソッドも違う。
何も不思議なことはないと思うが?


174 :名無し~3.EXE:2008/11/16(日) 17:14:00 ID:HYoFoab0
>>172
Write-Hostは標準出力でなくコンソール出力。


175 :名無し~3.EXE:2008/11/16(日) 17:19:56 ID:HYoFoab0
言葉足りたかな?
標準出力はファイルやパイプへリダイレクトできるもの。
コンソール出力は画面表示専用。
だから、Write-Hostには色など指定できるオプションがついてる。

PowerShellのパイプには基本的にオブジェクトが流れるが、
標準入力としてバイトデータ(通常はテキストとみなす)を
受け取る従来のコマンドが出力に
指定された時には、オブジェクトをToString()して
さらにShiftJISにエンコードしたデータを渡す仕組みになっている。


176 :名無し~3.EXE:2008/11/16(日) 18:16:12 ID:e1OwLSt3
Windows 7 にはPowerShell v2が同封されてる模様
PS流行るかもしれない

177 :名無し~3.EXE:2008/11/16(日) 19:02:18 ID:+MSN7HFx
>>173
>$nameorderはDictionaryEntryの配列
この部分がよくわからない。
というかなんでそういう言語仕様なのか設計思想が理解出来ない。
ハッシュテーブルをソートした結果に対してなんで別クラスを用意するのか?って部分
PowerShellはオブジェクトの構造が、表面から見える部分と、内部では見えないオブジェクトが
パイプ処理されてることで、なかなか思い通りに動かなくて困ってる。ってのは俺だけかな?


178 :名無し~3.EXE:2008/11/16(日) 19:03:54 ID:+MSN7HFx
>>173

>クラスが違うから当然メソッドも違う。

メソッドが違うって言っても、上の例で、foreachの対象を方やクラスそのもの、方やメンバを
対象にしないと動かないってことに言語仕様としての一貫性に疑問持たない?
実際、君は、同じことやろうとして、HashTableとDictionaryEntry配列のループに関して、
躊躇せず、正しく使い分けられるわけ?
そもそも
連想配列 == HashTable == Dictionary ってのは機能として同じものでしょ。
言語として別な型として扱ったとしても。
上の例に関してなんか解説してくれてるところがあれば紹介してくださいな。



179 :名無し~3.EXE:2008/11/16(日) 19:20:46 ID:FIPvrwO9
なにこの人、うぜーーーー
つーか、.NET Frameworkとシェル環境を無理やりすり合わせてるんだから変なとこくらいあるだろうよ
DataTableがどっかの時点で勝手にObjectの配列になるとかもそうだし

設計思想が知りたきゃPowerSell in Action嫁

180 :名無し~3.EXE:2008/11/16(日) 19:33:12 ID:jbcRpPkA
>>177
>ハッシュテーブルをソートした結果に対してなんで別クラスを用意するのか?って部分

「元が列挙可能なコレクションなら、何をソートしても結果は配列になる」

と考えれば分かりやすいんじゃない?
元の型と同じことを要請しちゃうと、
「ソートされていない」という性質を持つコレクションをソートした結果は
何型になればいいんだという話になる。

実際.NETのハッシュテーブルは順序を保持できないし。
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/441sortbyvalue/sortbyvalue.html

そういえばハッシュテーブルが順序を保持すべきかはLL業界でも議論があるね。
「ハッシュ 順序 Ruby」とかでググると色々でてきたはず。


181 :名無し~3.EXE:2008/11/16(日) 19:39:52 ID:+MSN7HFx
>>179
うざけりゃわざわざレスなんか返さずスルーしとけよ。ネットの基本な。

>DataTableがどっかの時点で勝手にObjectの配列になるとかもそうだし

そのどっかの時点を明示するのは言語仕様として当然必要だって話な。
変換されて困る場合はXXを明示してくれとかな。それがわからなけりゃ使う方としちゃ困るだろ。
PowerSell in Action の原書は持ってるが、上のようなことに言及してたかな?

182 :名無し~3.EXE:2008/11/16(日) 19:55:45 ID:+MSN7HFx
>>180
>元が列挙可能なコレクションなら、何をソートしても結果は配列になる

なるほど、そう考えるのか。何か指針が欲しかった。
そういうことを解説してる部分を探してみます。


183 :名無し~3.EXE:2008/11/16(日) 19:57:13 ID:jbcRpPkA
>>171
下のに関してはこう書くと動くよ。

foreach($x in $PCshopping.GetEnumerator() ){
$Paying += $x.Value
}

184 :名無し~3.EXE:2008/11/16(日) 21:00:01 ID:mtzkDeHg
>>158
GetNamesか、なるほどなー
そういうわけで
Set-ExcusionPolisy -ex <tab>
sc -Encoding B<tab>
[型名].<tab>
[型名].Assembly.a<tab>
ができるようにしといた>>121

185 :名無し~3.EXE:2008/11/16(日) 22:56:46 ID:NCgsRNVZ
>>177
はあ?
PowerShellの仕様じゃないだろ。ばかたり。
つーか、ソート結果を保持できる連想配列があるなら教えてくれ。
ソートできないハッシュだからこそO(1)で入出力できるんであって、
ソートしたらO(n)になってパフォーマンス激落ちちゃうだろが。
C#でソートできるか?Perlでできるか?awkでできるか?Javaでできるか?
こんな初歩の初歩からドキュメントしてたらキリがないぞ。

186 :名無し~3.EXE:2008/11/16(日) 23:12:13 ID:NCgsRNVZ
てか、GetEnumerator()呼び出して 自 分 で Hashtableから配列に変換してんのに、
勝手に変換されたとか切れてるってどんだけ使えねーの?

187 :名無し~3.EXE:2008/11/16(日) 23:54:54 ID:+MSN7HFx
↑何をおかど違いのところに吠えてんの?バカなの?

188 :名無し~3.EXE:2008/11/17(月) 01:20:19 ID:aerlsDzT
>>185
>C#でソートできるか?

SortedListがあるわけだが

189 :名無し~3.EXE:2008/11/17(月) 03:28:33 ID:OQcDVeP+
SortedListだと2分探索でO(log N)じゃないの?

190 :名無し~3.EXE:2008/11/17(月) 08:15:42 ID:Rw18Cca1
SortedListも知らずに一知半解の知識を振り回してんだろ。

191 :名無し~3.EXE:2008/11/17(月) 08:18:14 ID:XdvJmOH9
SortedListが連想配列だと思ってるバカがいるw

192 :名無し~3.EXE:2008/11/17(月) 09:06:48 ID:t1ZFp79q
SortedList ってハッシュ関係ないよね?
なぜいきなり SortedList が出てくるのかわからん。

193 :名無し~3.EXE:2008/11/17(月) 10:01:20 ID:f1W7oiWw
>>170
確かにforeach書式に統一性がないな
perlだと、ソートは単純配列なので何の違和感もない

%PCshopping = (
'CPU','3.5',
'Memory', '2',
'MB', '4',
'GC', '3',
'HDD', '2',,
'Case', '3',
'PS', '2',
);

%sortedname = sort keys(%PCshopping);
@sortedname2 = sort keys(%PCshopping);

$Sum = 0.;
foreach $val (values(%PCshopping)){
$Sum += $val;
}

print $Sum, "\n";



194 :名無し~3.EXE:2008/11/17(月) 10:02:24 ID:f1W7oiWw
$Sum = 0.;
foreach $val (%sortedname){
$Sum += $PCshopping{$val};
}

print $Sum, "\n";

$Sum = 0.;
foreach $val (@sortedname2){
$Sum += $PCshopping{$val};
}
print $Sum, "\n";



195 :名無し~3.EXE:2008/11/17(月) 10:25:16 ID:f1W7oiWw
>>171
PowerShellは、

[Hashtable] $H
foreach( $x in $H)
って書くと$xは$Hのそれぞれの要素にアクセスしてくれるんじゃなくて、
$Hそのものにしかアクセスしない。

foreach ( $y in $PCshopping){
}

$y #<---ここで $PCshopping そのものが出力される

$Paying = 0;
foreach($x in $y.values ){ # <--その$yを使って要素に順次アクセス
$Paying += $x;
}

$Paying;

196 :名無し~3.EXE:2008/11/17(月) 10:35:11 ID:XdvJmOH9
>>193
PowerShell(.NET)でも同じくkeysやvaluesを使った書き方をすればいいだけの話。

なぜややこしくなっているかというと、どっかのバカが
GetEnumerator()なんぞ呼び出して、HashtableをDictionaryEntryに分解してるからだ。
分解したものを配列にして一つの変数に収めてるんだから、そりゃクラス変わるだろって話。
なぜこんな簡単なことがわかんないのか、それが一番わからんw

SortList云々言ってるやつは論外ねw


197 :名無し~3.EXE:2008/11/17(月) 10:37:04 ID:Wj7xJqTH
どっちがどうだったか悩まずに済ませたいだけなら
$PCshopping.GetEnumerator() | % { $_.value } | Measure-Object -Sum
$nameorder.GetEnumerator() | % { $_.value } | Measure-Object -Sum

でいいんじゃない?

198 :名無し~3.EXE:2008/11/17(月) 10:40:35 ID:W0SWfpSb
>>185
>つーか、ソート結果を保持できる連想配列があるなら教えてくれ。
>ソートできないハッシュだからこそO(1)で入出力できるんであって、
>ソートしたらO(n)になってパフォーマンス激落ちちゃうだろが。
>C#でソートできるか?Perlでできるか?awkでできるか?Javaでできるか?

Rubyを避けてるあたりプロっぽいな。
ttp://slashdot.jp/developers/comments.pl?sid=384937&cid=1273692

199 :名無し~3.EXE:2008/11/17(月) 10:50:42 ID:f1W7oiWw
>>196
後のぐちゃぐちゃは読んでないが、>>171は書式の一貫性を言ってるんだろ。
in 配列は順次アクセスするのにin ハッシュと書くと順次アクセスしないのはおかしな話だ

200 :名無し~3.EXE:2008/11/17(月) 10:54:47 ID:f1W7oiWw
>>196
>>195にはperlだと連想配列でも配列でも、順次アクセスする一貫性について具体例を示したんだがね。

201 :名無し~3.EXE:2008/11/17(月) 10:58:36 ID:XdvJmOH9
>>199
何と一貫してないって?Perlと一貫させる必要は無いよな。

foreachでkeyとvalueを同列に扱って順次アクセスする必要はない。
むしろkeyとvalueをまとめたDictionaryEntryとして順次アクセスする
PowerShellの手法のほうが、統一性もわかりやすさも美しさも便利さも上だ。


202 :名無し~3.EXE:2008/11/17(月) 11:01:08 ID:XdvJmOH9
>>200
おいおいw
あわてずにもうちょっと考えて書けよw

203 :名無し~3.EXE:2008/11/17(月) 11:08:10 ID:/hcYzH78
perlと一貫って?いったいどういう読解力してんだ。もう、ちょっと考えて書けや。話にならんなお前。
実際、foreach文を使うユーザとしてどっちの動作を期待するかってことを考えれば、
XX=配列,ハッシュ関係なく in XXで要素アクセスするのが動作としては妥当だろが。

204 :名無し~3.EXE:2008/11/17(月) 11:10:44 ID:XdvJmOH9
まず、%sortednameがソートされてない事実に気づいてるか?w
print %sortedname;

sortかけてるのにsortされてない。どこが一貫性あるのかな?

次に、%sortednameは連想配列として宣言されているが、
その実単なる配列だ。
print $sortedname{'MB'};

どんだけ異常で醜いプログラムか理解できないの?
ほんとに?

205 :名無し~3.EXE:2008/11/17(月) 11:14:09 ID:XdvJmOH9
で、そんな醜いPerlと同じ仕様にする必要はないってこったよ。

PowerShellでは配列ハッシュ関係なくin XXXで要素アクセスできる。
その要素がPerlのようにkeyとvalueをかわるがわる出力するような
醜い仕様でなく、keyとvalueをまとめた構造体DictionaryEntryである。
美しいだろ?



206 :名無し~3.EXE:2008/11/17(月) 11:14:33 ID:/hcYzH78
>>201
keyとvalueを同列にアクセスする必要なんて、ないがな
そんなのは扱いにくいだけだろ。
keyとvalueをまとめた、ノードポインタに対してアクセスするのが当然だ。

207 :名無し~3.EXE:2008/11/17(月) 11:17:03 ID:XdvJmOH9
>>206
俺にアンカーつけんなよ。
Perl厨に言え。

208 :名無し~3.EXE:2008/11/17(月) 11:17:31 ID:/hcYzH78
>>205
>PowerShellでは配列ハッシュ関係なくin XXXで要素アクセスできる。

PowerShellでは in XXXで要素に順次アクセスなんかできない。

209 :名無し~3.EXE:2008/11/17(月) 11:19:14 ID:XdvJmOH9
要素が3つある連想配列がある。
foreachで回すと、PowerShellの場合は3回ループする。
Perlは6回ループする。
どこに一貫性がある?

210 :名無し~3.EXE:2008/11/17(月) 11:22:08 ID:/hcYzH78
>>ID:XdvJmOH9

foreach ($x in $HASH)
は $x = $HASHとしかならない。順次アクセスなんかできない。
要素アクセスしたければ
foreach ($x in $HASH.keys) もしくはforeach ($x in $HASH.values)
と書かなきゃダメだってば。
あと、くっだらんレス書いてるのにいちいちあげんなアホ

211 :名無し~3.EXE:2008/11/17(月) 11:24:01 ID:XdvJmOH9
>>210
ほらできるw
keysとかvaluesとか使えと書いたのが読めないのか?
文盲は書き込むなw


212 :名無し~3.EXE:2008/11/17(月) 11:25:24 ID:XdvJmOH9
あと、あげられて恥ずかしいなら最初から黙ってることだなw

213 :名無し~3.EXE:2008/11/17(月) 11:34:19 ID:/hcYzH78
>>211

ほらできるじゃねーだろ。

foreach($x in $HASH){
 $x.key;
 $x.valie;
}

で、順次アクセス可能なら、何も問題はない。
ノードにポインタ移動していくんだから。全く違和感はない。

でも、こう書けず↓しか書けないことに何も感じない神経が理解できんな。
foreach($x in $HASH.keys){
}

foreach($x in $HASH.values){
}

あと、>>206はお前に書いたレスだから、何もkeyとvalueをごっちゃにアクセスする必要なんて
あるかよ。


214 :名無し~3.EXE:2008/11/17(月) 11:39:10 ID:XdvJmOH9
>>213
foreach ($x in $HASH.GetEnumerator()){
$x.key;
$x.value;
}

さて、これと同じことがPerlでできるかね?w
何か問題でも?w


215 :名無し~3.EXE:2008/11/17(月) 11:41:28 ID:XdvJmOH9
>>214
「同じ結果」ならできるか。
じゃあ、こうしちゃおう。

foreach ($x in $HASH.GetEnumerator()) {
$x.key;
$x.value + 100;
}

さて、一貫性のあるPerlでどう書くの?w


216 :名無し~3.EXE:2008/11/17(月) 11:45:27 ID:XdvJmOH9
そもそも、合計値を出したいだけならソートする必要なんてないんだよね。
$PCshopping.values | Measure-Object -Sum
一行で済むことをグダグダと。


217 :名無し~3.EXE:2008/11/17(月) 12:03:51 ID:/hcYzH78
何を言い出すかと思えば each も知らずにお前バカやろ。

while(($key,$value) = each(%HASH)){
$key 
  $value
}

どーとでも個別に使えや。


218 :名無し~3.EXE:2008/11/17(月) 12:09:11 ID:XdvJmOH9
>>217
そんな書き方しかできないのを何も疑問に思わないの?w


219 :名無し~3.EXE:2008/11/17(月) 12:11:08 ID:/hcYzH78
>>215
>「同じ結果」ならできるか。
>じゃあ、こうしちゃおう。

あわてて気づいたけど、お気の毒。ゲラゲラ

220 :名無し~3.EXE:2008/11/17(月) 12:19:24 ID:/hcYzH78
>>218
同じforeachを使いながらGetEnumerator()を噛まさないとループしないことに何の違和感も感じないの?
いっとくが、俺はperl命なんて思ったこともないぜ。

221 :名無し~3.EXE:2008/11/17(月) 12:21:44 ID:XdvJmOH9
>>220
eachなら良いの?w
気の毒にw
もはや自分が何を言ってるのかわかんないんだろw


222 :名無し~3.EXE:2008/11/17(月) 12:23:15 ID:XdvJmOH9
埋もれてるからもう一度書いてやるよ。
もっと頭から湯気出しなw

まず、%sortednameがソートされてない事実に気づいてるか?w
print %sortedname;

sortかけてるのにsortされてない。どこが一貫性あるのかな?

次に、%sortednameは連想配列として宣言されているが、
その実単なる配列だ。
print $sortedname{'MB'};

どんだけ異常で醜いプログラムか理解できないの?
ほんとに?


223 :名無し~3.EXE:2008/11/17(月) 12:31:02 ID:/hcYzH78
sortednameにソート保持を期待してるわけではないよ。
eachも知らない2chの規約違反の不必要なアゲ行為を繰り返す >>ID:XdvJmOH9 よ。
>>193では、あくまでも連想配列と配列を同じように要素アクセスできることを示してるだけ。
sort 使った結果の出力にsortednameを適当に命名しただけだから。
>>170のリストにあったソートをそのまま持ってきてるにすぎん。
ソート云々じゃなくて>>171は配列とハッシュの順次アクセスについて言ってるだけだろ。


224 :名無し~3.EXE:2008/11/17(月) 12:32:51 ID:XdvJmOH9
もう一つ例題。
Perlの「一貫性のある(w)」手法で書いてみなw
「一貫性のある(w)」each使ってもいいよ。

foreach ($x in ($hash.GetEnumerator() | sort Name)) {$x.key; $x.value + 100}


225 :名無し~3.EXE:2008/11/17(月) 12:35:15 ID:XdvJmOH9
>>223
あれれ?
ソート保持を期待してない?
じゃあなんでsortednameなのぉ?w

おっかしーゲラゲラ
メシウマ〜〜

おいおいwwwwww
うわ、苦しい苦しい

俺、笑いすぎて苦しすぎw
お前、言い訳が苦しすぎw

226 :名無し~3.EXE:2008/11/17(月) 12:35:29 ID:/hcYzH78
>>221
連想配列を単純配列としてアクセススルにはeachも何もイランだろうが。
ループも何もせず、foreach( $x in $HASH) と $x = $HASHが等価なら、
なにがしかのwarningを出すのが処理としては妥当だし、必要なことだと思うね。

227 :名無し~3.EXE:2008/11/17(月) 12:36:16 ID:XdvJmOH9
Measure-Object知らないPerl厨よ、「教えてくれてありがとう」は言わないの?
苦しい〜〜www

228 :名無し~3.EXE:2008/11/17(月) 12:37:16 ID:XdvJmOH9
>>226
えー?
要素がひとつだと警告出すのぉ?
現場知らないやつはこれだからw


229 :名無し~3.EXE:2008/11/17(月) 12:39:23 ID:/hcYzH78
>>225
>ソート保持を期待してない?
>じゃあなんでsortednameなのぉ?w

ソート関数の出力だからsortedと適当に命名したと>>223に書いたんだが、ガキかお前は。
なにがしかのデータを配列に格納しないと、順次アクセスしてるかどうかわからないだろが。

230 :名無し~3.EXE:2008/11/17(月) 12:39:38 ID:XdvJmOH9
じゃあさ、じゃあさ、要素ゼロのforeachもやっぱ警告出すのぉ?
要素多すぎる時はぁ?
久々のヒットだな、こいつwww
腹いて〜w


231 :名無し~3.EXE:2008/11/17(月) 12:40:39 ID:XdvJmOH9
>>229
ソート関数の出力がソートされてないのに何にも疑問持たないのぉ?
うっわ苦し〜w


232 :名無し~3.EXE:2008/11/17(月) 12:42:41 ID:/hcYzH78
each 知らず現場って。お前まさかPwerShell使って仕事してるってか。
each 教えてくれた俺に礼はないのか?

233 :名無し~3.EXE:2008/11/17(月) 12:42:58 ID:1k4nyPPy
C#だとこれで行けるんだけどな。

var PCshopping = new Hashtable
{
  {"CPU", "3.5"},
  {"Memory", "2"},
  {"MB", "4"},
  {"GC", "3"},
  {"HDD", "2"},
  {"Case", "3"},
  {"PS", "2"},
};

foreach (DictionaryEntry item in PCshopping)
{
  Console.WriteLine(item.Key + ":" + item.Value);
}

foreachで使うのにGetEnumeratorを書かなきゃならんのだとしたら確かにちょっとだるい。

まあGenerics導入前のコレクションなんて今時使わないけど。
むしろObsolete属性付けても良いぐらい。
PowerShell 2.0ではその辺の空気も読んで欲しい。
ttp://blogs.msdn.com/bclteam/archive/2007/06/26/non-generic-collections-to-be-removed-from-silverlight-inbar-gazit.aspx

234 :名無し~3.EXE:2008/11/17(月) 12:45:42 ID:/hcYzH78
>>230

waning レベルで指定してもいいがな。warning レベルも知らないって?どんな現場だコイツ
waning 出さなくても、in $HASHは要素メンバにアクセスするのではないことを
言語仕様として明示してるんか?

235 :名無し~3.EXE:2008/11/17(月) 12:46:47 ID:XdvJmOH9
>>232
クスクス

一貫性ねー。

236 :名無し~3.EXE:2008/11/17(月) 12:49:13 ID:/hcYzH78
結局 >>ID:XdvJmOH9 こいつは
in $HASHで、順次アクセスしてくれると思い込んでたんだろな。
気づかせてくれて謝意の言葉は?


237 :名無し~3.EXE:2008/11/17(月) 12:51:56 ID:/hcYzH78
>>233
まともにコミュニケーションのとれない>>ID:/hcYzH78はほっといて、
forach で in のあと [hashtable]だとループしないってのは規約としてあるの?



238 :名無し~3.EXE:2008/11/17(月) 13:03:48 ID:Wj7xJqTH
foreach文を使用して、PowerShellで列挙可能なすべてのものを反復処理にかけることができます。
通常、これには.NETのIEnumerableインターフェイスの実装も含まれますが、PowerShellに合わせ
て少し調整されています。具体的には、IEnumerableを実装するクラスのうち、PowerShellでは列挙
可能と見なされないものがいくつかあります。これには、文字列、ディクショナリ、ハッシュテーブ
ルが含まれます。PowerShellではコレクションを自由に分解できるため、文字列が突然文字ストリー
ムに変化したり、ハッシュテーブルが一連のキーと値の組みに細分化されたりするのは避けることに
しました。特に、ハッシュテーブルの場合は、PowerShell環境において軽量(タイプレス)オブジェ
クトとしてよく使用されるため、それらのスカラー性を維持する必要があります。


以上PowerShell インアクション P180より抜粋

239 :名無し~3.EXE:2008/11/17(月) 13:04:36 ID:t1ZFp79q
たまに盛況かと思えば基地外二人が暴れてるだけかよ。

240 :名無し~3.EXE:2008/11/17(月) 13:08:17 ID:/hcYzH78
>>238
うわ。わざわざタイプしてくれたのありがと。
in actionには解説してくれてるのね。
Microsoft.Press - Windows.PowerShell.Scripting.Guide.(2008) で検索かけてみたけど未だ探せてない。

241 :名無し~3.EXE:2008/11/17(月) 13:13:32 ID:t1ZFp79q
>>237
なんだ。基地外二人かと思ったら一人芝居かよ。迷惑な。

242 :名無し~3.EXE:2008/11/17(月) 13:54:18 ID:BJiu3ucL
>>215
>foreach ($x in $HASH.GetEnumerator()) {
>$x.key;
>$x.value + 100;
}>

>さて、一貫性のあるPerlでどう書くの?w

foreach ( keys($HASH)) {
 $_;
 $PCshopping {$_} + 100;
}

で何か?

243 :名無し~3.EXE:2008/11/17(月) 15:21:40 ID:XdvJmOH9
>>242
keys使ってるじゃん。

244 :名無し~3.EXE:2008/11/17(月) 15:22:50 ID:XdvJmOH9
>>241
失礼なことを言うな。ちゃんと二人いる。

245 :名無し~3.EXE:2008/11/18(火) 02:07:41 ID:o/YiBCZW
えらくスレが伸びてると思ってきてみれば。

>>205
>PowerShellでは配列ハッシュ関係なくin XXXで要素アクセスできる。

イタタタター!
Perlを批判してPowerShellに入れ込んでる割に、もっとも基本的なことを知らねぇんだな
と思って >>ID:XdvJmOH9をマウスでポイントすれば、

>191 >196 >201 >202 >204 >205 >207 >209 >211 >212 >214
>215 >216 >218 >221 >222 >224 >225 >227 >228 >230 >231 >235 >243 >244

唖然!およそまともな社会人なら仕事してるはずの月曜日の8:00から15:00にこれだけ張り付いてるって?^100
こいつはニート、あるいは暇な糞文系確定だな

  オ イ 就 職 難 で 大 変 だ な 糞 学 生

246 :名無し~3.EXE:2008/11/18(火) 08:35:09 ID:CQSZhIim
せっかくいなくなったのに蒸し返すな

247 :名無し~3.EXE:2008/11/18(火) 08:42:14 ID:3ZtnfgoG
>>205
>その要素がPerlのようにkeyとvalueをかわるがわる出力するような
>醜い仕様でなく、

こいつの知識レベル酷いな。何も知らないんだな。このレベルのヤツにまともにレスしてもしゃーないんだが、、、
Perlからごっそり書式をぱくった似非PerlことPowerShellをlinuxとBSD上で起動かしてみ。話はそれからだ。


248 :名無し~3.EXE:2008/11/18(火) 08:42:58 ID:MzHhuegi
似非PerlといえばPHPだろ

249 :名無し~3.EXE:2008/11/18(火) 08:48:44 ID:3ZtnfgoG
まぁ、同じカテゴリの後発言語は先発言語をなにがしかの参考にしてるから、
後発言語=似非先発言語だけどね。全く違った書式で書かれる方が迷惑だし。
Win限定で土俵が違えば比較にならんわ。

250 :名無し~3.EXE:2008/11/18(火) 09:04:51 ID:MzHhuegi
てかPSって言うほどPerlに似てないとは思う
sigilがあることぐらいじゃね

251 :名無し~3.EXE:2008/11/18(火) 13:00:40 ID:7NG9CuNd
なんだこの低レベル同士のバカ騒ぎ

252 :名無し~3.EXE:2008/11/18(火) 18:57:55 ID:6q7qTKEW
PowerShellは実行ポリシーとかチョーわけわかんないシステムで〜
スクリプト?〜がチョベリお手軽に動かせないしー
従来のバッチファイルの方が便利ってかんじー

従来のバッチファイル
@echo off
echo Set-Location "%cd%" >temp.ps1
echo Get-ChildItem >> temp.ps1
powershell -command - < temp.ps1
del temp.ps1

253 :名無し~3.EXE:2008/11/18(火) 19:10:28 ID:AoTBJs/o
>従来のバッチファイルの方が便利ってかんじー
どこが?

254 :名無し~3.EXE:2008/11/18(火) 19:24:32 ID:AoTBJs/o
ふつうパイプを使うだろ
@echo off
(
echo Set-Location "%cd%"
echo Get-ChildItem
) | powershell -command -

255 :名無し~3.EXE:2008/11/19(水) 00:51:46 ID:rlSKMtWW
こっちだろ
ttp://scripting.cocolog-nifty.com/blog/2007/08/powershellps1_ef82.html

256 :名無し~3.EXE:2008/11/19(水) 12:22:12 ID:jSG2eWUp
すげー未読いっぱいとか思ったら、単なるバカ祭りかよ。
foreachの繰り返しが一回しかない時にwarning出せとかアホかと。
perl信者もバッチ信者もうざいからよそでやれ。

257 :名無し~3.EXE:2008/11/19(水) 12:34:04 ID:LvoKkwKM
↑お前が一番うざいから厚生事務次官のようにぶち殺されろや?

258 :名無し~3.EXE:2008/11/22(土) 14:45:08 ID:m0VD9l/r
>>121
New-Objectの-ComObjectパラメータとTrace-Commandの-Nameパラメータで補完できるようにした
New-Object -Com shel<tab>

259 :名無し~3.EXE:2008/11/27(木) 08:28:57 ID:ncu6Xroe
 

260 :121:2008/11/29(土) 16:06:50 ID:C4SR45b6
ファイル名変更したからリンク切れてたのに今頃気づいた・・・今日の日付の奴が最新
http://cid-40405a7c2ae2b5b7.skydrive.live.com/browse.aspx/TabExpansion

[ と New-Object の後で型名を補完できるようにした
[IO.D<tab>
position=1かつ定数を要求するパラメータがあるコマンドレット(の一部)でパラメータ名書かなくても補完できるようにした
Set-ExecutionPolicy <tab>

初めて読み込む時は数十秒〜数分かかるかも

261 :名無し~3.EXE:2008/11/29(土) 19:24:37 ID:vmpAsE3+
Windows PowerShell Virtual Machine Manager コマンドレット リファレンス
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=444c4b16-48b2-4e80-b31b-2931fdb54665&DisplayLang=ja

262 :名無し~3.EXE:2008/11/30(日) 13:23:47 ID:KL9TgWDC
http://soyokaze-jp.cocolog-nifty.com/photos/spider/asidaka060820.jpg

これどうしていいかわからない

263 :名無し~3.EXE:2008/11/30(日) 20:38:04 ID:UewcoPpu
なんて凛々しいお姿。
PowerShell本の表紙はこいつで決まりだな。

264 :名無し~3.EXE:2008/12/01(月) 00:26:47 ID:LdGgOy+Q
さて、V2CTP3/Beta1お披露目の12月ですよ

265 :名無し~3.EXE:2008/12/01(月) 08:07:29 ID:Cx7vHMJn
System Center Virtual Machine Manager 2007 スクリプト ガイド
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=d8c0982a-80b2-4607-83a0-49c8dab6cdaf&DisplayLang=ja

>>262
オライリー本の表紙に採用だな

266 :名無し~3.EXE:2008/12/01(月) 21:25:56 ID:d+wEJK5Z
VBAからPowerShellを使う方法
ttp://oshiete1.goo.ne.jp/qa4515634.html

ActiveXPosh使えそうだから紹介しようとしてたら手間取っているうちに回答が締め切ってしまった悲劇
普通に使えたけど、自分の場合この修正ファイル適用しないとCreateObjectが失敗した
ttp://support.microsoft.com/kb/908002

267 :名無し~3.EXE:2008/12/03(水) 21:47:04 ID:5TRpEmnR
Intelの中の人もPowerShell使ってんのね
Intel AMT, Windows Powershell, and You
ttp://communities.intel.com/openport/community/openportit/vproexpert/blog/tags/powershell

どうせならコマンドレット作っちゃって

268 :名無し~3.EXE:2008/12/04(木) 13:55:01 ID:gk6dsfvT
cmd.exeもそうだけどPowerShellでもxkeymacs正常動作しないな。C-spcとかC-@が動作しない。
あと、XKEYMACS_SHELLをPowerShellにしてM-!で起動するとタスクバーのXKEYMACSアイコンが
赤に変化して、キーフックが一切無効になるんだけど、何か使い方間違えてる?

269 :名無し~3.EXE:2008/12/04(木) 23:33:12 ID:74nh3Q1F
なんでそんなことをPowerShellスレで聞こうと思ったの?

270 :名無し~3.EXE:2008/12/05(金) 01:23:26 ID:LYYDE0cI
>>269
>>2 Xkeymacsにリンク張ってるだろ。

271 :名無し~3.EXE:2008/12/05(金) 11:17:36 ID:3+uqybbd
予定にはあるみたいだが、よく考えたら2.0はXP向けにRTWされない可能性もあることに気付いた
俺ピーンチ

配布されるとしたらMSのXP向け最後の大型無料アプリか

272 :名無し~3.EXE:2008/12/06(土) 10:46:54 ID:NGHVzM0D
>>270
インターネットの基礎知識だけど、リンク張るってのは「そちらを参照してくれ」って意味だよ。

273 :名無し~3.EXE:2008/12/07(日) 17:37:13 ID:uxiS4C4q
>>272 ?

274 :名無し~3.EXE:2008/12/07(日) 18:13:33 ID:29JbKwuy
"&Foo", "&Bar", "B&az"なんかを指定してコンテキストメニューなりラジオグループなりのUIを表示して
ユーザーに選ばせるコードってどう書けばいいですか?

275 :名無し~3.EXE:2008/12/07(日) 18:39:27 ID:uxiS4C4q
まず、System.Formsをロードします

276 :名無し~3.EXE:2008/12/07(日) 18:47:54 ID:VCjzTcR5
>>274
>>103を使えばすぐできる

277 :名無し~3.EXE:2008/12/08(月) 13:44:11 ID:k9Aeiu5f
>>272
バーカ。そういう無関係なもんを延々スレ初めのスレッドに貼るかよ。

278 :名無し~3.EXE:2008/12/08(月) 13:52:25 ID:HlMUqOcr
何このゴミスレ

279 :名無し~3.EXE:2008/12/08(月) 14:01:22 ID:/ZOtr8v9
>>272
2chのイロハだけど、テンプレに貼られたリンク先に関しては、
リンク先に書かれてる内容に準拠した話題のレスを書き込んでスレ進行しようっていうスレ主の意志表示だよ。
理解した?おバカちゃん &herats

280 :名無し~3.EXE:2008/12/08(月) 14:02:45 ID:/ZOtr8v9
>>272
おおっと。


281 :名無し~3.EXE:2008/12/08(月) 17:00:56 ID:PLE8Oh8h
ID変えながらの連続投稿がすごく悔しそうでいいぞw

282 :名無し~3.EXE:2008/12/08(月) 19:52:56 ID:pdkGE9Kc
>>260
Get-ServiceとかGet-Process含めてコマンドレットに渡す引数で補完できそうな文字列はほぼ全部補完できるようになった、と思う
ついでにカンマで複数の引数を渡す場合もそれぞれで補完できるようにした
gps <tab>,p<tab>,exp<tab>

283 :名無し~3.EXE:2008/12/12(金) 09:12:44 ID:UNrGd4Ud
Powershell Tweaks
ttp://code.msdn.microsoft.com/pstweaks

Tweaksとか言う割りに単語を翻訳するスクリプトしか置いてないとか、翻訳にGoogle利用してるとかは置いといて
ヒア文字列の終了引用符の前にスペースを入れるってのはどうかと思います
つーか検証してから公開しろよ

284 :名無し~3.EXE:2008/12/13(土) 21:29:35 ID:8NvvH8xx
さて、アメリカ的にはそろそろ出さなきゃホリデーに入っちゃうんじゃねーの?

285 :名無し~3.EXE:2008/12/18(木) 15:21:09 ID:hv+ZmFTR
ちょっと、ほんとにちょっとだけ前進
【ハウツー】ゼロからはじめるWindows PowerShell - 計算編 (1) PowerShellの起動と終了.1
ttp://journal.mycom.co.jp/articles/2008/12/18/powershell/index.html

286 :名無し~3.EXE:2008/12/18(木) 16:12:44 ID:Xnv2NsBI
>>285
後進して一足踏み出したようにしか見えないが?読者層が不明すぎる。

それと、最後の単位計算は本当に無駄だな
なぜそういうことが出来るのか説明されていないから、使い道もないし訳も分からない
powershellを起動してnGBを計算させるより
calcを起動して2の30乗をかけるか、1024を3かけた方が良い

287 :名無し~3.EXE:2008/12/18(木) 17:01:11 ID:hv+ZmFTR
>>286
まあブクマしてる人もいるしいいんじゃね・・・
間違ったことは言ってないし

今のところは。

288 :名無し~3.EXE:2008/12/18(木) 22:47:34 ID:TLYhK7za
>>285
前回から一ヶ月か…。
一年後にはスクリプト入門くらいにたどり着くかね。

289 :名無し~3.EXE:2008/12/18(木) 22:54:05 ID:4QrUNI0o
PSが非処女だと発覚して無期限休載。

290 :名無し~3.EXE:2008/12/18(木) 23:05:02 ID:hv+ZmFTR
今までこのスレでここまで注目された入門記事が他にあったであろうか、いやない

291 :名無し~3.EXE:2008/12/19(金) 00:44:04 ID:K+Hcc0ym
>>260
メソッドの引数で定数を補完できるようにした
型を指定しないとエラーになる時
$str = "day night"
$str.Split(" ", 3, "None")
型を指定しないとエラーになるときは-as演算子の後にTABキー押せば補完可能
$str.Split( " ", "None" -as<space><tab>

$_.で大体合ってるプロパティ・メソッド名に補完できるようにした
ls |group { $_.Cr<tab>.Tost<tab>"y")} | tee -var foo| ? { $_.G<tab>.c<tab> -gt 5 } | % { md $_.N<tab> ; copy $_.G<tab> $_.N<tab> }
くらいなら普通に補完可能

応用で-Propertyパラメータ持ってるコマンドレットのプロパティ名補完できるようにもした
ps |group na<tab>

292 :名無し~3.EXE:2008/12/20(土) 00:06:32 ID:s6Kk4FGW
CTP3はちょっと遅れるらしいよ
ttp://www.microsoft.com/communities/newsgroups/list/en-us/default.aspx?&lang=&cr=&guid=&sloc=en-us&dg=microsoft.public.windows.powershell&p=1&tid=473bfeeb-42f1-4bf9-b8ca-bd5aee94de05&mid=057acfd9-18ae-49fb-bc3e-1962ee078df3

293 :名無し~3.EXE:2008/12/23(火) 04:25:07 ID:GVvRmmWo
いつの間にかにNetCmdletsV2とPowerShell ServerがRTMになってる
ttp://www.nsoftware.com/PowerShell/

294 :名無し~3.EXE:2008/12/23(火) 19:20:47 ID:b+W0feyx
おいおいCTP3来てるじゃないか、ちゃんと教えてくれよ
Windows PowerShell V2 CTP3
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=c913aeab-d7b4-4bb1-a958-ee6d7fe307bc&displaylang=en
WinRM 2.0 CTP3
ttps://connect.microsoft.com/WSMAN/Downloads

WinRMまだXP/2003非対応っぽい

295 :名無し~3.EXE:2008/12/23(火) 20:01:53 ID:b+W0feyx
PowerShell.exeの実行パラメータに-WindowStyleでNormal/Minimized/Maximized/Hiddenが選べるようになってる、素晴しい
でも一瞬表示されちゃうのは実行ファイル自体をwscript.exe/cscript.exeみたいに分けないと無理なんだろうな


296 :名無し~3.EXE:2008/12/24(水) 02:39:54 ID:wPk5Ijai
CTP3、起動するごとにウインドウの位置がずれるのはなんなんだろう・・・
Sizer使ってるから別にいいけど

297 :名無し~3.EXE:2008/12/25(木) 21:18:55 ID:nnzx5eEh
Connectが半ばバグ報告合戦になっとるな
いいぞもっとやれ

298 :名無し~3.EXE:2008/12/29(月) 09:52:46 ID:xU2iCm0k
 

299 :名無し~3.EXE:2008/12/29(月) 16:22:02 ID:0Yf5nCx0
linuxいじり始めてからcmd.exeに不満が出てきたので、試しに入れてみたら、
起動直後、「'FileSystem' プロバイダで InitializeDefaultDrives 操作を実行しようとして失敗しました」
なるメッセージが出て焦ったのですが、このメッセージの意味はなんでしょうか?
もし管理権限で起動してたらCドライブをフォーマットされてしまうところだった、とかじゃないですよね。

300 :名無し~3.EXE:2008/12/30(火) 00:24:00 ID:QbZSp0v6
>>299

ファイルシステムプロバイダがデフォルトのドライブの初期化に失敗したということ。ファイルシステムプロバイダが
ドライブを正常に読めないだけで、Cがフォーマットされたりするということはない。

301 :名無し~3.EXE:2008/12/30(火) 01:32:20 ID:CEFdAx8w
>>300
どうも。ここでのIniitializeは初期設定とか初期読み込みとかの意味っぽいですかね。
外付けドライブを別プロセスでchkdskしてたせいもしれません。

302 :名無し~3.EXE:2008/12/30(火) 06:08:32 ID:C5RDAww7
mycomがこの段階でニュースにするのは珍しいなーって思った(未来のってのはひっかかるが)
いや、そんだけ・・・

未来のWindowsコマンドシェル「PowerShell V2」の最新開発版が公開
ttp://journal.mycom.co.jp/news/2008/12/29/003/


・・・じゃあなんだから小ネタ
ttp://get-powershell.com/2008/12/28/more-integrated-scripting-environment-customization/

303 :名無し~3.EXE:2008/12/30(火) 14:30:20 ID:dBcfzHmU
バイナリファイルの結合コピーってどう書けばいいのでしょう?
DOSの場合の

copy /B file1+file2+file3 destfile

って奴です

304 :名無し~3.EXE:2008/12/30(火) 16:14:57 ID:MDymtNV2
楽なのがいいなら
function bcopy { cmd /c "copy /B $([string]$args)" }
でいいと思うけど、PowerShellで完結することにロマンを感じるなら
type -enc Byte file1,file2,file3l | sc -enc Byte -Path destfile
とかじゃない?

305 :名無し~3.EXE:2008/12/31(水) 22:18:50 ID:zYQ2M17+
>>260
変数がハッシュテーブル型の時、変数名+ドットの直後のTab押しの補完候補にキー名が出てくるようにした
Get-Process | Get-Unique | % { $hash += @{$_.ProcessName=$_} }
$hash.pow<tab>.pro<tab>

Select-Objectの-ExpandPropertyの組み合わせが二回以上続く場合でもだいたい正しい補完候補になるようにした

変数名の配列表記が多次元だったりネストしてる場合でも補完できるようにした
$a = New-Object "Int32[,]" 2,3; $b = "PowerShell","PowerShell"; $c = [ref]$a; $d = [ref]$b,$c
$d[0].V<tab>[0][0].Get<tab>
$d[1].V<tab>[0,0].tos<tab>

306 :名無し~3.EXE:2009/01/01(木) 02:27:53 ID:2kNsmxfC
>>305


でも、出先で使えないと嫌だから使わないw
雲行きの怪しいPowerShellでも、IE7のように一般家庭にも普及する から使っているわけであって…
普及するよね?ね? CTP 3ってなに?  一生CTP、人柱向けじゃないよね?ね?
(未完成品を世に出さない職人魂は大好きですがw)


307 :名無し~3.EXE:2009/01/01(木) 11:35:35 ID:XxafqrzM
あけおめ。

>でも、出先で使えないと嫌だから
一応そういう苦労を軽減するためにただのスクリプト(テキストファイル)にしたつもり
ネットに繋げない・USBメモリ禁止ならどうしようもないし、PowerShellインストール済みが大前提だけど

Jeffreyさんが新年の抱負になんか色々ときめくこと言うてはる
My 2009 Resolutions
ttp://blogs.msdn.com/powershell/archive/2008/12/31/my-2009-resolutions.aspx

308 :303:2009/01/03(土) 10:00:56 ID:cksqnF5B
>>304
数GBあるsplitしたmpeg2-tsファイルを結合して一つのファイルとしたかったんですが、
Cygwinでcatを使ってmergeするととてつもなく時間がかかってしまいました。
PowerShellになにかやり方があるのか知りたかったんですが、type -enc Byteだとさらに遅いですね

309 :名無し~3.EXE:2009/01/03(土) 10:27:47 ID:VtAUPDR+
>>308
.net使えるから
System.IO.FileStream / StreamReader / StreamWriter / TextReader / TextWriter / TextStream / BinaryStream / BufferdStream / Compression.DefalateStream / IsolatedStreage.IsolatedStrageFileStram / MemoryStream
あたりから適当な奴を探して使えばいいんじゃね?

それが早いかどうかは別として

310 :名無し~3.EXE:2009/01/03(土) 10:58:49 ID:nrfEqAZl
cmd.exeのcopyコマンドって2GB制限か何かあるんだっけ?

311 :名無し~3.EXE:2009/01/03(土) 15:29:51 ID:TUhpTJMd
1ディスク内だとランダムアクセスになって遅い
ディスクtoディスクだとそれぞれがシーケンシャルアクセスになって速い
とか?

312 :名無し~3.EXE:2009/01/04(日) 00:48:18 ID:SkSQ8myC
copy a+b
でaのi/oが稼げる?

313 :名無し~3.EXE:2009/01/04(日) 06:21:03 ID:8DjfJarJ
>>308
 むしろ、cmd.exeで

  type file2 >> file1

ではどうか?

314 :名無し~3.EXE:2009/01/04(日) 19:11:49 ID:ZT9v8ROX
>>313 それで早くなるなら FireFileCopy とかがはやったりしない。

315 :名無し~3.EXE:2009/01/04(日) 22:22:30 ID:Bpp8ujxC
typeコマンドだと、そもそもEOFに引っ掛かるから駄目だな。

色々考えてみたけど、PowerShellを生かした良い方法が思いつかない。
MB単位で一気にR/Wしようとすると、結局New-Objectから始めるしかないような……
だったらC#でいいじゃんって話になるし。

316 :名無し~3.EXE:2009/01/04(日) 23:17:35 ID:fKaTsQnw
>>260
スクリプト・フィルタ・関数のパラメータ名補完、およびその引数で定数の補完
man -f<tab>
'param([System.StringSplitOptions]$foo,[System.Management.Automation.ActionPreference]$bar,[System.Management.Automation.CommandTypes]$baz) {}' > foobar.ps1
.\foobar.ps1 -<tab> -b<tab>
.\foobar.ps1 -foo rem<tab> -bar <tab><comma>c<tab><comma>sc<tab> -ea silent<tab> -wa con<tab>

代入式の左辺値が列挙体である場合右辺値を定数に補完
$ErrorActionPreference =<space><tab>
$cmdtypes = New-Object System.Management.Automation.CommandTypes[] 3
$cmdtypes =<space><tab><comma><space>func<tab><comma><space>cmd<tab> -as<space><tab>

パイプの一つ前の式が Get-Item Get-Command もしくは変数のみな時 '$_.' の補完をより正確にした
gi hkcu:\ | % { $_.subkey<tab>
gcm powershell.exe | % { $_.file<tab>
$data = Get-Process
$data[2,4,5] | % { $_.<tab>

317 :名無し~3.EXE:2009/01/05(月) 10:48:55 ID:dbbOloEF
>>303,308は、typeやcatはもちろんcmd.exeのcopyコマンドでも数GBのファイルを結合するのには時間かかるから代替案が欲しい、ってことでいいの?

318 :名無し~3.EXE:2009/01/05(月) 21:47:37 ID:zfvggaSj
シェルなんだからファイル操作とかは充実させて欲しい
分かりやすく簡潔に高速なコマンド
FastCopy-Item とか

319 :名無し~3.EXE:2009/01/06(火) 00:46:19 ID:d6Y3LfDv
要望があるならConnectなり本家ブログなり日本のフォーラムなりに書くよろし
某11の人も自分に言ってくれれば頑張って伝えるって言ってたよ

320 :名無し~3.EXE:2009/01/07(水) 13:43:41 ID:ZQWq28Yq
そのくらい自分で作れや。

321 :名無し~3.EXE:2009/01/07(水) 15:20:21 ID:utTBmCeS
改行を読み取ろうと思ったら、反応してくれない・・
書き込みは対応してるのに、検索はしてくれないのか?

↓改行をアンダーバーに変換しようと思ったら反応ナシ。
cat "ファイル" -replace "`n","_"



322 :名無し~3.EXE:2009/01/07(水) 17:32:17 ID:5LEA4kF/
>>321
基本Get-Contentの出力はObject[]
各要素に一行ずつStringとして入ってるから、改行はないよ

323 :名無し~3.EXE:2009/01/07(水) 18:05:30 ID:utTBmCeS
>>322
そうかー、ありがとう解決できた。

324 :名無し~3.EXE:2009/01/07(水) 19:25:59 ID:5LEA4kF/
なんかひたすらどうでもいい発見をしてしまった
$a=ps
$a-f0..10000

325 :名無し~3.EXE:2009/01/08(木) 22:13:11 ID:NXLEuAC6
>>317
いや,cmd.exeのcopyコマンドは俺にとっては十分早いです.
これに代わるやり方がPowerShellには用意されてるのか?ってことを単純に知りたかっただけです.
もうcmd.exeを忘れたい


326 :名無し~3.EXE:2009/01/08(木) 22:22:32 ID:NXLEuAC6
そういや xcopy とかの代替ってのもないんですかね?
PowerShellってのはcopy のようにreplaceされたり,dosの外部コマンドが実行されたりするわけですね.
といいながら,Cygwinにパス通してるのでfindなんかで困るわけですが・・・

327 :名無し~3.EXE:2009/01/08(木) 22:35:02 ID:ngtHFcYu
コマンドプロンプトからPowerShellになって機能ダウンしたなんてことがないといいんだが

328 :名無し~3.EXE:2009/01/08(木) 23:00:21 ID:dQQmXBMC
んー、PowerShellは文字通りシェルだから使えるものはなんでも使えばいいじゃん
って思考だなぁ俺は
robocopyとか普通に便利だし

というかV2は開き直ってC#/VB/etcのコードをコンパイルするコマンド用意してるよね
ttp://blogs.msdn.com/powershell/archive/2009/01/03/how-to-write-a-console-application-in-powershell-with-add-type.aspx

329 :名無し~3.EXE:2009/01/09(金) 12:29:37 ID:uhpsXtHe
PowerShell provider for BizTalk (version 1.0.0)
ttp://biztalkmessages.vansplunteren.net/2009/01/06/powershell-provider-for-biztalk-version-100/


330 :名無し~3.EXE:2009/01/10(土) 12:45:33 ID:VSpoWoPT
Windows7のベータにPowerShell2.0標準で入ってるな。

331 :名無し~3.EXE:2009/01/10(土) 18:34:55 ID:lO1sn57E
それは前から言われてるじゃん
問題はVista/XP向けに.NETやIEみたいに自動更新かSPで載せるかどうかでしょう

332 :名無し~3.EXE:2009/01/12(月) 00:12:31 ID:AwG1zHUd
Visual Studio のコマンドプロンプトがPowerShellに切り替わったら本物

333 :名無し~3.EXE:2009/01/12(月) 01:42:51 ID:9NcxK6Aq
VS2010から少しずつコアの実装も.NET化していくみたいだから、
VS2013?あたりからPowerShellに切り替わるんじゃない?


334 :名無し~3.EXE:2009/01/12(月) 01:44:39 ID:2xPSOda5
>>332
特にDLLを開発してるときには
そのDLLを自動でロードしてくれたりしてなw

335 :名無し~3.EXE:2009/01/12(月) 01:57:22 ID:A/D5IC5V
Managed Extensibility Framework(MEF)のことかい?
http://www.atmarkit.co.jp/fdotnet/dnfuture/vs10net4_01/vs10net4_01_01.html

336 :名無し~3.EXE:2009/01/12(月) 02:02:29 ID:weEIEhev
PowerShellの演算子やキーワードを列挙できるクラスがあったはずなんだけど、誰か知らん?

337 :名無し~3.EXE:2009/01/12(月) 02:40:13 ID:9NcxK6Aq
>>335
System.AddInの立場はどうなっちゃうんだろうねぇ。


338 :名無し~3.EXE:2009/01/12(月) 03:03:28 ID:A/D5IC5V
>>336
get-command とか get-help * じゃダメなんだよね?
わからん……
ヘルプ的なコマンド以外でそんなものをユーザーに提供するシェルってあるんだろうか。

>>337
中で使うんじゃないかと予想。

339 :名無し~3.EXE:2009/01/12(月) 03:13:02 ID:A/D5IC5V
>>336
http://www.nivot.org/2008/12/27/PowerShellOneLinerListingKnownLanguageKeywordsInCTP3.aspx

そんなもんはないらしい。
V2CTP3にはあるようだ。

340 :名無し~3.EXE:2009/01/12(月) 03:42:35 ID:weEIEhev
>>339
あーこれだ、この記事忘れて探してたのよ、ありがとう
V2でしか使えないなら埋め込むしかないな

341 :名無し~3.EXE:2009/01/12(月) 07:04:29 ID:R6rV0hJk
get-money

342 :名無し~3.EXE:2009/01/12(月) 16:49:58 ID:C0RhmAj0
Crash course on authoring Windows 7 Troubleshooting Packs
ttp://www.withinwindows.com/2009/01/12/crash-course-on-authoring-windows-7-troubleshooting-packs/

サポセンの中の人向けにトラブルシューティング用のPowerShellスクリプト作成から配布・組み込みまでを支援しようってところか
ユーザーはウィザードのはい・いいえをクリックしていくだけでスクリプト実行を意識する必要が無い、と

343 :名無し~3.EXE:2009/01/13(火) 00:33:41 ID:MhC7S7lz
>>260
'-' で始まる演算子を補完できるようにした
"Power","Shell" -m<tab> "Power" -r<tab> '(Pow)(er)','$1d$2'
1..9 -co<tab> 5

変数の後にパス区切り文字 ( / と \ )の組み合わせでパス補完できるようにした
$PWD\../../<tab>\<tab>
"$env:SystemDrive/pro<tab>/<tab>

皆デフォルトの補完機能で満足してるのかな
まあスクリプト書くならエディタがいろいろあるけど

344 :名無し~3.EXE:2009/01/13(火) 10:20:43 ID:zaA1Nb7q
>>343
それになれると、出先でPS使うときに苦労するから使わない。


345 :名無し~3.EXE:2009/01/13(火) 21:49:39 ID:BVx/EFEr
>>344
実行ポリシーの制限?
まずもって出先にPowerShell環境があるっていうのがうらやましいけど

346 :名無し~3.EXE:2009/01/14(水) 02:23:40 ID:3xT0pZws
Please Give Us Feedback
ttp://blogs.msdn.com/powershell/archive/2009/01/12/please-give-us-feedback.aspx#comments

誰か日本語でフィードバック送ってみないかい?
誰かがやるなら俺もやる

347 :名無し~3.EXE:2009/01/14(水) 13:31:53 ID:uXMQC6oc
-replace について

"Hello World" -replace '(.*) (.*)','($2) ($1)'
→(World) (Hello)
になるのに

"Hello World" -replace '(.*)(.*)','($2) ($1)'
→() (Hello World)() ()
こうなるのは何故ですか?

348 :名無し~3.EXE:2009/01/14(水) 20:33:51 ID:6PsLvT4J
これ使いこなすより普通のスクリプトで書いた方がよっぽど強力で書きやすいよね。

349 :名無し~3.EXE:2009/01/14(水) 20:44:50 ID:HlTBGeNv
>>347
PowerShellは関係ないなー。w

●「.」は、原則として全文字だから、空白も含まれる。
だから、1つめの()で文字列全体がキャプチャされて、
2つめの()は空となる。

●置換文字列の「()」は、特別な意味がないので、
そのまま結果文字列に入る。


350 :名無し~3.EXE:2009/01/14(水) 21:52:08 ID:DH90jX/9
>>349
>>347が言いたいのは() (Hello World)の部分じゃなくて、その後の() ()の部分じゃないかと推測

351 :名無し~3.EXE:2009/01/14(水) 22:02:54 ID:KWbs/ZYd
>>260
PowerShellのキーワードが補完候補に出るようにした
次に来る括弧( '{' か '(')が決まっている場合はスペースの後にそれも出る
b<tab>
p<tab>
w<tab>

Clear-Variable Get-Variable New-Variable Remove-Variable Set-Variable の -Name パラメータで変数名の補完
コマンドレット共通の -ErrorVariable -OutVariable パラメータおよびそのエイリアス -ev -ov と
Tee-Object の -Variable パラメータで変数名の補完
Export-Alias Get-Alias New-Alias Set-Alias の -Name パラメータでエイリアス名の補完
Format-List Format-Custom Format-Table Format-Wide の -groupBy パラメータでプロパティ名の補完

さすがにもう弄る部分が思いつかない

352 :名無し~3.EXE:2009/01/15(木) 16:33:12 ID:79v4liNY
いつの間にかにPowerGUIが日本語にローカライズされてた
ついでにV2CTP3にも対応したらしい
ttp://powergui.org/downloads.jspa

353 :名無し~3.EXE:2009/01/16(金) 22:33:43 ID:MK3cF5Ud
2.0使ってる奴いるのか

354 :名無し~3.EXE:2009/01/17(土) 13:34:02 ID:T4xuUcO4
βすっ飛ばしてRC
Now available for download: Release Candidate of IIS PowerShell Snap-in
ttp://blogs.iis.net/thomad/archive/2009/01/16/now-available-for-download-release-candidate-of-iis-powershell-snap-in.aspx

355 :名無し~3.EXE:2009/01/18(日) 08:43:31 ID:oFfz+kYk
PowerGUIってEditorの色を変更できないのかな?
真っ白の背景は目に突き刺さるような気がしてCornSilkに変更したいんだけど

356 :名無し~3.EXE:2009/01/18(日) 15:12:48 ID:ymFdxTEB
とりあえず現状は無理なんじゃない?

357 :名無し~3.EXE:2009/01/19(月) 02:26:23 ID:u1NHhSYI
>>347
何か不思議だね。
* じゃなくて + だと、たぶん期待した動きになるんじゃないかな。

"Hello World" -replace '(\w+)','$1 dayo'
→Hello dayo World dayo

'Hello World' -replace '(\w*)','$1 dayo'
→Hello dayo dayo World dayo dayo

* だと何故2回も dayo が出るのだろう。
どういう理屈なのか?


358 :名無し~3.EXE:2009/01/19(月) 02:46:06 ID:WulMzuee
>>357
Hello
空白
World
Worldの直後
の計4回マッチするためじゃないの?

359 :名無し~3.EXE:2009/01/19(月) 04:52:00 ID:u1NHhSYI
いや、空白はマッチしないだろう。\w だから。

Hello
Helloの直後
(空白はそのまま出力)
World
Worldの直後

こんな感じかな。
すると >>347

Hello World(=$1)と直後(=$2)
直後(=$1)と直後(=$2)

と2回マッチしてる感じ?


360 :名無し~3.EXE:2009/01/19(月) 09:41:55 ID:AHPatGWQ
>>359
\wは関係ない。.*はスペースであろうがなかろうがマッチする。

なんで二回出るのかっていうのは、こういうことだよ。
-replaceは文字列中でマッチしたものすべてを置換する。
たとえば、'Hello Hello' -replace 'Hello', 'World' は World World となる。

'Hello World' -replace '(.*)(.*)', '($2)($1)' の場合、
まず最初に$1=「Hello World」、$2=「」がマッチし、置換される。
次に行末で$1=「」、$2=「」がマッチし、置換される。
つまり、二か所でマッチしてるから二回出力されるというだけの話。
これを防ぎたければ、
'Hello World' -replace '^(.*)(.*)$', '($2)($1)' とすれば良い。

361 :名無し~3.EXE:2009/01/19(月) 20:40:23 ID:WulMzuee
>いや、空白はマッチしないだろう。\w だから。

orz

まったくそのとおり
空白の直前のつもりでつい・・・

362 :名無し~3.EXE:2009/01/20(火) 02:12:27 ID:V13GYXyR
ドンマイ

363 :名無し~3.EXE:2009/01/20(火) 21:43:40 ID:y7D7tzxs
>>260
補完候補用のデータファイル読み込みをちょっとだけ高速化
$PSHOME\profile.ps1を汚さないようにした
[a<tab> や New-Object ps<tab>で型アクセラレータも補完候補に来るようにした
.NET/WMI のクラス名を補完する際次の '.' や '_' までの文字列を候補に出すようにした
New-Object System.win<tab>.for<tab>.bu<tab>


364 :名無し~3.EXE:2009/01/20(火) 22:32:45 ID:E3VL0gjR
bashとか構文が好きになれなかったけど、
PSならがんばれそうだな
Linuxに早く移植してほしいね

365 :名無し~3.EXE:2009/01/21(水) 20:09:31 ID:+ZJQgPyp
ForEach-Object -InputObject 1,2,3,4,5 -Process { $_ + 1 }

上の式と出力が同じなのは次のア〜キの式のうちどれでしょう(制限時間5分・複数回答可)

ア switch (1,2,3,4,5) { default { $switch + 1 } }
イ 1..5 | & { $input + 1 }
ウ foreach ( $i in 1..5 ) { $i+1 }
エ ForEach-Object -InputObject 1..5 -Process { $_ + 1 }
オ ,1,2,3,4,5 | % { $_ +1 }
カ 1..5 | & { do { $input.current + 1; } while ( $input.MoveNext() ) }
キ ,1..5 | % { $_ + 1 }

実行せずにぴったり正解できた君はえらい

366 :名無し~3.EXE:2009/01/22(木) 02:14:56 ID:R+07zAFi
>>364
一応 pash ってのがあるけどな。
http://sourceforge.net/projects/pash

367 :名無し~3.EXE:2009/01/22(木) 12:17:17 ID:AOuVSQJy
monoshellてのもあるけど、どっちも停滞してるね
まあ期待するだけ無駄だろう
今更30年以上続くBourne Shell系から離れることは出来んよ

368 :名無し~3.EXE:2009/01/22(木) 22:57:36 ID:xKzGbz6L
>>366
これは頑張ってもらいたい

369 :名無し~3.EXE:2009/01/23(金) 17:35:15 ID:UByj+8ln
http://itpro.nikkeibp.co.jp/article/COLUMN/20081027/317832/
選択肢の一つにコマンドレットが出てきた

370 :名無し~3.EXE:2009/01/26(月) 00:34:50 ID:wVONMd+L
なんかぶっと釣り針が
ttp://journal.mycom.co.jp/articles/2009/01/25/wsh/index.html
.NETの知識が必要てなんだ、.NETFWのインストール方法が難しいとかそういうことか

しかし毎回思うが
> 登場して間もないことから、まだまだ情報が少ない
ていったい何の情報を必要としてるのか

371 :名無し~3.EXE:2009/01/26(月) 02:02:25 ID:+pxkdv5H
.NET が使えるということと必須ということは違うと思うんだけどね。

それに WSH って昔からあるけど、何かめんどくさそうだから使ったことない。
シェルがないからかな?

372 :名無し~3.EXE:2009/01/26(月) 11:03:14 ID:6NiaPghp
WSHはCOMの知識がないとそれこそ何もできないと思うんだがなー

373 :名無し~3.EXE:2009/01/26(月) 12:23:18 ID:/38QyxBG
初心者向けの解説してるサイトがあったら教えてください
ばかですみません

374 :名無し~3.EXE:2009/01/26(月) 14:38:19 ID:FB2mC4+A
>>373
>>142

375 :名無し~3.EXE:2009/01/28(水) 12:04:29 ID:sDYl5ViY
PowerShell って良いですよね。ActiveDirectoryの管理にもバッチリな感じです。
そのPowerShellを使えば、私ごときがかかえるちっぽけな問題などスッキリ解決できると信じています。
そのちょっとした問題というのは私ごときが管理するActiveDirectoryのユーザーどもの
lastLogonTimestamp を知りたいということです。
PowerShellの万能の機能と皆様の智慧が合わされば即座に解決されると信じています。

誰か教えてよ。プリーズ。


376 :名無し~3.EXE:2009/01/28(水) 13:19:04 ID:W2LiF6bm
Add-PSSnapin Quest.ActiveRoles.ADManagement
Get-QADUser | ft FirstName, LastName, DisplayName, lastLogonTimestamp -auto

377 :375:2009/01/28(水) 16:26:46 ID:sDYl5ViY
なるほど。これを使えと。
www.quest.com/japan/information/pr080121.asp
感謝の極み


378 :名無し~3.EXE:2009/01/29(木) 00:37:21 ID:/uRdeQRY
VMwareどんだけPowerShell好きなんだよ
ttp://blogs.vmware.com/.a/6a00d8341c328153ef010536fcc751970c-pi

本家開発チームの半分近い人数だぞ
ttp://blogs.msdn.com/blogfiles/powershell/WindowsLiveWriter/ThePowerShellTeam_DF36/teamphoto_2.jpg

ちなみに元記事はこっち
VI Toolkit (for Windows): VI Toolkit 1.5 Released!
ttp://blogs.vmware.com/vipowershell/2009/01/vi-toolkit-15-released.html



379 :名無し~3.EXE:2009/01/31(土) 19:42:30 ID:DQMGK07E
コマンドラインスタックの挙動ってこんな感じで合ってる?
Esc+q の代わりに ; 入力してからTAB

[Reflection.Assembly]::LoadWithPartialName( "System.Windows.Forms" )
$_stack = New-Object Collections.Stack

function tabexpansion ($line, $lastWord) {
switch -r ($lastWord) {
'(.*);' {
$global:_stack.Push($line)
[System.Windows.Forms.SendKeys]::SendWait("{ESC}")
}
}
}

iex (@'
function prompt {
if ($_stack.Count -gt 0) {
$_keys = $global:_stack.Pop().TrimEnd(';') -replace '([[\]\(\)+{}?~%])','{$1}'
[System.Windows.Forms.SendKeys]::SendWait($_keys)
}
'@ + @"
${function:prompt}
}
"@)

380 :名無し~3.EXE:2009/02/04(水) 12:02:51 ID:F+oKcojA
 

381 :名無し~3.EXE:2009/02/05(木) 20:37:14 ID:2j3950rp
>>260
function や filter キーワードの後で既存の関数名に補完するようにした
*.txt@<tab> で ファイル名のグロブパターン展開機能のような感じの何か
^ や ~ で除外パターン指定も可能
;<tab> でコマンドラインスタック機能かもしれないらしい何か
;:<tab> で手動ポップも可能
#<id><tab> や #<pattern><tab> でヒストリ補完(V2CTP3の機能)
初めて使う場合の読み込み時間の高速化

382 :名無し~3.EXE:2009/02/06(金) 03:28:26 ID:EE96dDGK
PowerShellで日本語入力ができない。。
日本語の表示や貼り付けはできるんだけども。
なにか設定が必要なのかなぁ。

環境は
PowerShell ver1 x64
OS: WinXPx64

383 :名無し~3.EXE:2009/02/06(金) 16:40:52 ID:h4C3ThcP
>>382
Alt + 半角/全角

384 :名無し~3.EXE:2009/02/06(金) 19:00:45 ID:RtieZEZ2
日本語の折り返しはちゃんと表示されるようになった?

385 :名無し~3.EXE:2009/02/07(土) 02:48:12 ID:UjIQiwRW
>>383
おおありがとー

386 :名無し~3.EXE:2009/02/07(土) 16:49:09 ID:fUkrmSJq
お前らはもっとこれに投票するべき

Add Get-Computer and Start-Computer cmdlets
ttps://connect.microsoft.com/feedback/ViewFeedback.aspx?FeedbackID=389694&SiteID=99


387 :名無し~3.EXE:2009/02/08(日) 18:30:49 ID:c0gUfynC
exit の別名定義は作れませんか?
exit じゃなく end と打ち込めば終了できるようにしたいのです。
方法があれば教えてください

388 :名無し~3.EXE:2009/02/08(日) 18:49:24 ID:1SKkiKRW
関数の中で exit を実行すればいいだけだけど、 end は予約語だからお勧めしない( begin〜process〜end 句 )

他でいいなら
function fin { exit }

end っていう名前の関数を定義することは出来るけど、 & ${Function:end} 等の形でないと呼び出せない

389 :名無し~3.EXE:2009/02/08(日) 19:31:27 ID:1SKkiKRW
いつの間にかに PowerShell in Action 第二版が出てる件(書籍化は9月予定)
ttp://www.manning.com/payette2/

Complete coverage of Windows PowerShell version 2!

だそうな

390 :名無し~3.EXE:2009/02/08(日) 23:23:36 ID:c0gUfynC
>>388
なるほど、関数でいいんですね。 alias のことばかり調べてました;
fin や quit という名前にすることにします。ありがとうございました。

391 :名無し~3.EXE:2009/02/09(月) 16:38:19 ID:GNzdJz1P
これってどの程度規格として確定するものなのかな?
あんまりおっかけしたくないからまだVer 1使ってるけど。
C#とかJISでも確定したけど、Ver 2.0とかVer3.0になってまるで無駄規格に見えるし

392 :名無し~3.EXE:2009/02/09(月) 17:46:32 ID:U8QW4jMJ
規格はないよ、ある必要もないでしょ?
言語仕様は 1.0 と 2.0 で大した差はない、ほとんどコマンドレットの強化が主軸

393 :名無し~3.EXE:2009/02/09(月) 20:44:01 ID:5NbMDKTA
変な規格に雁字搦めにされることなく伸び伸びと育って欲しい。

394 :名無し~3.EXE:2009/02/09(月) 23:08:17 ID:22T/yF95
つーかCやC++だって、2回も3回も規格は更新されてるんだよ。
もちろんCOBOLやFortranもね。

ちなみに次のVC++は新規格(C++0x)だから、予習しておくように。

395 :名無し~3.EXE:2009/02/10(火) 02:18:02 ID:YQ/s1gC9
後方互換なんぞいらん

396 :名無し~3.EXE:2009/02/10(火) 20:14:42 ID:6xcbm/PW
$a = @{}; 1..1000 | % { $a.Add($_,$_) }
でも
$a = @{}; 1..1000 | % { $a += @{$_=$_} }
でも結果は同じだけど、後者はやっぱり配列に要素足していくのと同じような処理してるみたいだな

397 :名無し~3.EXE:2009/02/11(水) 03:41:41 ID:D3gFy15C
旧バージョンのソースが動くのなら言語仕様の破壊的変更でもなんでもござれだな

398 :名無し~3.EXE:2009/02/11(水) 10:47:26 ID:LkZ76dEG
PS H:\> $a = @()
PS H:\> $a += gi hoge.txt
PS H:\> $a.gettype()

IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Object[] System.Array

これで、要素が1つの配列を作った。

PS H:\> $a = $a | sort lastwritetime
PS H:\> $a.gettype()

IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True FileInfo System.IO.FileSys...

要素が1つの配列をソートすると、配列ではないものになってしまう……仕様か?

399 :名無し~3.EXE:2009/02/11(水) 11:15:45 ID:LgIIDLS3
仕様だよ
()でくくろう

400 :名無し~3.EXE:2009/02/11(水) 18:32:25 ID:y+epizFn
あー、リスト構造が欲しいだけならわざわざジェネリクス利用せんでもArrayListで十分かねぇ

401 :名無し~3.EXE:2009/02/12(木) 01:54:11 ID:qYzWR2ms
Java

402 :名無し~3.EXE:2009/02/13(金) 20:06:57 ID:p6FVsNMn
V2CTP3のヘルプファイル、ページ遷移する毎にスクリプトエラーが出るのがうざった過ぎる

403 :名無し~3.EXE:2009/02/14(土) 16:43:25 ID:AriOdaRZ
date って何者?
出力は Get-Date と全く同じっぽいし、実際 Get-Date のパラメータも使える
でも Get-Alias date とか Get-Command date とかやってもそれらしいもの出て来ない

404 :名無し~3.EXE:2009/02/14(土) 17:23:05 ID:nmTC/Kcb
>>403
試してみると、dateに限らず、aclでもaliasでも
get-xxx
のコマンドレットは get を除いても認識するようにみえる
ただし、コマンド検索の優先順位は低いみたいだけど

自動的なコマンド検索のルールであって、明示的な別名でないから
コマンド検索ではでてこないのかな

405 :403:2009/02/14(土) 18:46:41 ID:+9kzfDpH
>>404
ああなるほど、そういうカラクリか
基本的に他の何かと被ってない場合はそれが実行されるっぽいね

406 :名無し~3.EXE:2009/02/14(土) 22:40:58 ID:i0SQATsl
>>403
http://flamework.net/archives/6
which date

407 :名無し~3.EXE:2009/02/15(日) 19:36:52 ID:1n3Ruf8s
パラメータとなる変数のデフォルト引数に$argsを渡せば(結果的に)位置パラメータに出来るんだな
function test ($a=$args[0], $b=$args[1]) { $a;$b; $args|write-host -b black }
test 1 2 3 4 5
2.0の[Parameter(Position=0)]$aよりいろいろと楽

408 :名無し~3.EXE:2009/02/17(火) 03:44:28 ID:rDmdhS+c
これに挑戦してみた
ttp://d.hatena.ne.jp/YokoKen/20090216/1234796799
> Program Files フォルダ直下の各フォルダを、サイズの大きい順に並べて、
> 上位 5 件のディレクトリ名とサイズ (単位MB) をテーブル形式で表示するための PowerShell スクリプトを書く。

$s = @{}
ls 'C:\Program Files' | ? { $_.Length -eq $null } |
sort { $n=$_.Name; ls $_.FullName -Recurse | measure Length -Sum | % { $s.Add( $n, $_.Sum ); $_.Sum } } -Descending |
select -First 5 | ft Mode,CreationTime,Name,@{l="Size";e={"" + [int]($s.($_.name)/1MB) + "MB"}}

ハッシュテーブル使うとワンライナーにはできないな、なんかいい方法あるんだろか

409 :名無し~3.EXE:2009/02/18(水) 08:35:00 ID:w9fwNLJX
>>408
ls $Env:ProgramFiles|?{$_.Mode -match 'd'}|%{$_|Add-Member NoteProperty s (ls $_.FullName -r|?{$_.Length -gt 0}|Measure-Object Length -Sum) -pass}|sort s -des|head 5

410 :名無し~3.EXE:2009/02/18(水) 08:41:55 ID:w9fwNLJX
headは標準のエイリアスじゃなかったので書き直し。
ls $Env:ProgramFiles|?{$_.Mode -match 'd'}|%{$_|Add-Member NoteProperty s (ls $_.FullName -r|?{$_.Length -gt 0}|Measure-Object Length -Sum) -pass}|sort s -des|select -first 5


411 :名無し~3.EXE:2009/02/18(水) 21:42:08 ID:fbaeU3PZ
>>410
ソートのところで s の代わりに { $_.s.Sum } を渡さないと正しくソートされないと思うけど、Add-Memberか、なるほどなー

412 :名無し~3.EXE:2009/02/19(木) 08:59:17 ID:UsRbdZW6
>>411
sort は Sort-Object のエイリアス。
プロパティ名を渡すようになってるから s で良いんだよ。
逆に { $_.s.Sum } で本当にソートできるかどうかやってみたら?

413 :名無し~3.EXE:2009/02/19(木) 09:29:33 ID:UsRbdZW6
いや、ごめん。意味分かった。
(ls $_.FullName -r|?{$_.Length -gt 0}|Measure-Object Length -Sum).Sum
ってことね。確かにそうしないと正しくソートできないね。


414 :名無し~3.EXE:2009/02/19(木) 15:25:31 ID:UsRbdZW6
三度目の正直。MB単位で表示も入れて、こんなもんでどうかな?
ls $Env:ProgramFiles|?{$_.Mode -match 'd'}|%{new object|Add-Member NoteProperty FileName $_.Name -pass|Add-Member NoteProperty MB ((ls $_.FullName -r|?{$_.Length -gt 0}|Measure-Object Length -Sum).Sum/1MB) -pass}|sort MB -des|select -first 5

415 :名無し~3.EXE:2009/02/19(木) 15:49:24 ID:L9Q3ZPWn
new

416 :名無し~3.EXE:2009/02/19(木) 22:49:01 ID:nFH6IBn4
>>414
new objectのところがアレだけど、それでいいと思う
やっぱり Get-ChildItem で Mode 指定できるようになってほしいな

417 :名無し~3.EXE:2009/02/20(金) 07:41:25 ID:d4zMvVAi
アレってなんだよ?

418 :名無し~3.EXE:2009/02/20(金) 10:56:44 ID:d4zMvVAi
なるほど、new object じゃなく New-Object object か。
エイリアス定義しまくってると他の環境で困るな。

419 :名無し~3.EXE:2009/02/20(金) 20:09:50 ID:r1VR7SXs
そのうちWSHと同じく普及しないまま放置されるだろうね。

bashやcshなんかはオブジェクト指向なんぞ無視で、
仕様もシンプルで、使い捨てのスクリプトを書くのに適している。
非職業プログラマにも使いやすい。
しかし、Windows PowerShellはそうでもない。

仕様を複雑にしたり、たかがシェル言語にオブジェクト指向を導入したりして
WSHで失敗してるのに、同じ失敗を何度でも繰り返すんだから、MSも救いようがないね。

420 :名無し~3.EXE:2009/02/20(金) 20:13:54 ID:YHqqLGaq
使いやすいものを使ってもいいんだぜ。

421 :名無し~3.EXE:2009/02/20(金) 21:19:18 ID:oPqggfFo
>>418
エイリアスを変換して出力するスクリプトを書けばいいじゃない

422 :名無し~3.EXE:2009/02/20(金) 21:48:38 ID:fMzc+xG8
>>419
オブジェクト指向を導入したんじゃない、.netを導入したらオブジェクト指向も付いてきただけだ
と言ってみるテスト

オブジェクト指向は、作る(設計)にはちょっとしたこつが必要だけど
使う分にはむしろお手軽じゃね?

423 :名無し~3.EXE:2009/02/20(金) 23:41:18 ID:WXjFuAMG
知ったような口でいい加減なことを吐けるのは使ったことのない者の特権なのさ

424 :422:2009/02/21(土) 00:59:16 ID:9PlS8Aat
>>423
前半のは冗談として、
オブジェクト指向だから不便な所ってたとえばどこがある?

確かに、ちょっと凝った事すると、C#の方が楽できそうな気がするが、
それはオブジェクト指向だからというわけではないしな。

スクリプト組むまでもないバッチ作業には非常に向いてるし、今までのコマンドラインアプリとの相性も悪くないよ。
shスクリプトは使ったこと無いから知らんけど、今までのバッチファイルと比べると格段に便利になってる

425 :名無し~3.EXE:2009/02/21(土) 01:03:58 ID:x/IHqPcJ
>>424
いやごめん>>423>>419のこと

426 :名無し~3.EXE:2009/02/21(土) 01:07:41 ID:e7JR5VHx
バッチファイルほど見よう見まね度というか初期投資の低さがないように思えるな。
プリインストールされてないのはしょうがないにしても関連付けさえできてないし。
かといってWin7になれば本格普及するかといえば微妙な気はする。

427 :名無し~3.EXE:2009/02/21(土) 01:30:22 ID:x/IHqPcJ
関連付けは意図的にしていない
リスクを理解した上でしたい人は自分でどうぞってこと
デフォルトで実行ポリシーがRestrictedなのと同じ

428 :名無し~3.EXE:2009/02/21(土) 01:37:15 ID:9PlS8Aat
>>425 そうでしたか、てっきり
>>426
正直、普及する、しないに関係なく、標準装備してくれるのが一番重要。
その中で、使いたい人が使いたいときに使えればそれで良いと思う。
単なるバッチ処理ツールなんだから、バッチ処理しない人には必要ない物なのかも知れない。
powershellはcmdに比べて(文字数的に)お手軽じゃないしな
( これは結構真面目な話で、psh見たいなエイリアスやシンボリックリンク作っておかないと、本当にめんどくさいぞ。
スタートメニューで検索できるようになったといっても、Power DVDとか地雷あるし。)


標準装備と言えば、Vistaでtelnet.exeが標準装備されなくなったらしいけどどうして?
「あの」 ハイパーターミナル使えって事? ping、ipconfig (ifconfig)、telnetはネットワーク障害時に欠かせないツール。

429 :名無し~3.EXE:2009/02/21(土) 01:43:56 ID:x/IHqPcJ
winrm/winrsに置き換えたからじゃない?

430 :名無し~3.EXE:2009/02/21(土) 02:21:44 ID:9PlS8Aat
>>429
おお、そんな物があったのか。勉強になった。サンクスです。
でもtelnet.exeはtelnetクライアントじゃなくてTCPクライアントだっちゅーの(死語)
SSL使って通信できるようになったのは良いけど、sshではないのね…いい加減スレ違なきがするのでここで退散します。

431 :名無し~3.EXE:2009/02/21(土) 03:04:44 ID:GQM+2egv
WSH はシェルがないわけだが

432 :名無し~3.EXE:2009/02/21(土) 08:10:31 ID:0EpVgl2R
>>419
WSHは普及してるだろ


433 :名無し~3.EXE:2009/02/21(土) 14:05:57 ID:VoyrL1bO
セキュリティ的にあれだからじゃないの?
tftp.exeとかもなかったような。

まぁDVDとか使わずにすぐ追加でインストールできるからあんまり気にしてないけど。


434 :名無し~3.EXE:2009/02/21(土) 14:44:20 ID:bHMJMk0J
>>428
telnetは標準で無効にされてるだけ。
コントロールパネルの「Windowsの機能の有効化または無効化」で有効に出来る。

435 :名無し~3.EXE:2009/02/21(土) 15:02:37 ID:lgo9BUvf
>>427
関連付けしようと思ったらフォルダオプションか、レジストリを弄るの?
Powershell自体には関連付けの機能が用意されてないように見える。

436 :名無し~3.EXE:2009/02/21(土) 15:14:46 ID:ex20sA6y
>>435
>関連付けしようと思ったらフォルダオプションか、レジストリを弄る
そう
V2CTP3インストールするとpowershell_ise.exeに関連付けされる

437 :名無し~3.EXE:2009/02/21(土) 22:10:21 ID:KbR9Dce4
powershell勉強しようと思ったら、今って2.0なのね

2.0に対応している本はでてる?
http://www.amazon.co.jp/gp/reader/4873113822/
↑の本は古いですか?

438 :名無し~3.EXE:2009/02/21(土) 22:31:43 ID:ex20sA6y
今はまだ1.0だよ、2.0はベータにもなってない
ぶっちゃけコマンドが追加されるだけだから、気にしなくても大丈夫

439 :名無し~3.EXE:2009/02/21(土) 22:44:19 ID:QbYbuG7N
>>438

ありがとうございます。
コマンドが追加される程度なんですね
本を購入して勉強します

440 :名無し~3.EXE:2009/02/22(日) 00:41:23 ID:PH1RdaQn
実際に使うのではなく、勉強という感じならPowerShellインアクションのほうがお勧めだな
どっちとももってるけど

441 :名無し~3.EXE:2009/02/22(日) 04:10:37 ID:H8z5pN0E
俺は「プログラマブルPowerShell」
クックブックは逆引き用だから、勉強には向かないと思う。

あと、1.0 だと Excel2007 を COM オブジェクトとして使おうとしても実質使えないに近い。
2003 だと大丈夫なんだけど。
Office2007 が入ってる環境で勉強するなら、2.0 でやらないとはまる。

442 :437:2009/02/22(日) 13:32:18 ID:zXD63G1Q
皆さんレスありがとうございます。
やはりクックブックは向かないみたいですね。

自分は2008とかHyper-V、SCVMMの管理や自動化に使いたいと思っているので
1.0で基礎を押さえて2.0で応用を勉強するのがベストかもしれませんね

443 :名無し~3.EXE:2009/02/22(日) 19:09:35 ID:1xnaf2lV
仮想化の運用管理ならVMwareもXenのCitrixもPowerShellべったりだから安心していいと思うよ

444 :名無し~3.EXE:2009/02/22(日) 21:00:37 ID:36C1Wz8w
>>443
なるほど それは知らなかったです。
VMwareはPerlでコントロールできるのは知っていたのですが、
PowerShellでもOKなんですね。勉強しますね。



445 :名無し~3.EXE:2009/02/22(日) 23:53:57 ID:CfXgO6eq
PowerGUI PowerPackも合わせてお使いになられるとお得です

446 :名無し~3.EXE:2009/02/23(月) 22:08:39 ID:L+59/X98
>>445
それらのツールも落としてインストールしました。ありがとうございます

447 :名無し~3.EXE:2009/02/26(木) 10:47:40 ID:T3+g85ci
ヴイエムウェア、次世代のデータセンター用仮想化ツール「VMware vSphere」を発表
ttp://japan.zdnet.com/news/devsys/story/0,2000056182,20388861,00.htm
>Maritz氏はまた、Intelと「vPro」技術で提携したことも発表した。

これでVI ToolKitがコマンド一つでリモートの起動終了できるようになれば萌えるわー
AMT頑張れ、超頑張れ

448 :名無し~3.EXE:2009/02/28(土) 00:56:45 ID:iafU5FhC
PowerShellが意外に売れてるな
2008年第4四半期の米国市場でのプログラミング言語関連書籍の販売部数のシェア。
緑色は増加傾向、赤は減少傾向を示していて、色が濃いほど増減が激しいことを表している 出典:O'Reilly Media
http://www.atmarkit.co.jp/news/200902/27/l_langs01.jpg
http://www.atmarkit.co.jp/news/200902/27/langs.html

449 :名無し~3.EXE:2009/02/28(土) 19:49:36 ID:kMjrqoLr
>>260
powershell.exe の起動オプション補完機能強化
- の後に 0 文字以上のアルファベットとを入力しても各オプション名に補完できるようにした
powershell -<tab>
powershell -ex<tab>

デフォルトの help および man 関数の -Nameパラメータでコマンド名またはトピック名の補完(パラメータを明示する必要はない)
help -Name <tab>
man about<tab>

デフォルトの help および man 関数の -Categoryパラメータでカテゴリ名の補完
help -Category <tab>
man -cat cm<tab>,al<tab>,gl<tab>

switch 構文のオプション名を補完できるようにした
switch -<tab> -r<tab> -f<tab>

補完ネタ募集中

450 :名無し~3.EXE:2009/03/03(火) 20:24:49 ID:f8ZUsgB3
Windows7ではPowerShellを標準で乗っけてほしいなぁ。
そしたら潔くそっちいくのに、と未だにWSHメインの俺が言ってみるテスト。

451 :名無し~3.EXE:2009/03/03(火) 21:14:05 ID:FT+2bEnH
今更なこと言う前に本家ブログなりWin7の記事なり読みに池と

452 :名無し~3.EXE:2009/03/07(土) 11:44:51 ID:XCyDyFn0
キーボード操作でクリップボードのテキストを貼り付けることできた

function TabExpansion ($line,$lastWord) {
# Ctrl-V 入力した後 Tab キー
if ( $line[-1] -eq 22 ) {
$textbox=new-object System.Windows.Forms.TextBox;
$textbox.Multiline=$true;
$textbox.Paste();
write-output $textbox.Text
}

}

やっぱWindows Script Programmingの人はすごいわ
直接クリップボード弄ることばかり考えてTextBox経由って発想はなかった

453 :名無し~3.EXE:2009/03/08(日) 07:54:53 ID:W1kDupCh
>>452

Textbox経由は便利。

Excelのセルをコピーして、テキストとして張り付けたりもできる。

454 :名無し~3.EXE:2009/03/08(日) 11:32:09 ID:/ZxSDOZu
>>453
ただこれだと挿入はできないんだ、行末にマウスを使わずにテキスト貼り付けができるってだけで
SendKey使うのもやってみたんだけど、Tab 押した時点でキャレットより後ろの文章は削除される仕様だから意味なし

455 :名無し~3.EXE:2009/03/08(日) 16:08:26 ID:NLFVzYGz
STAで起動すればいいじゃん

456 :名無し~3.EXE:2009/03/08(日) 16:20:14 ID:NTu3aDQw
PS > $result = Get-Date
PS > $result.GetType()

こうすればうまくいくけど、変数に入れずに直接

PS > Get-Date.gettype()
式が '(' の後に必要です。
発生場所 行:1 文字:18
+ Get-Date.gettype() <<<<

こうやるとうまくいかないのはどうして?

457 :名無し~3.EXE:2009/03/08(日) 19:54:46 ID:W1kDupCh
>>456

(get-date).gettype()とやるべし。

458 :名無し~3.EXE:2009/03/08(日) 23:42:36 ID:NTu3aDQw
>>457
おお、ありがとう。
括弧で括ってやらないと全体をコマンドかなにかとみなしてしまうのかな。

459 :名無し~3.EXE:2009/03/10(火) 07:41:20 ID:Ge2cLDfn
>>458

コマンドラインをどう解釈しているのかわからんから、そのあたりは何ともねぇ。

コマンドレットが返すオブジェクトは「(コマンドレット)」。一方、オブジェクトのメソッドが返す
オブジェクトは「オブジェクト.メソッド()」だけで表せる。

PS H:\> (get-date).tostring().length
18

460 :名無し~3.EXE:2009/03/10(火) 08:29:16 ID:SpoUCbw5
ドットはコマンド名に使えるから、
Get-Date.gettype() が Get-Date.gettype というコマンドの引数に () を渡していると解釈されて
() には中に式が無いから「式が '(' の後に必要です。」とエラーを吐くってだけだよ

function get-hoge.huga { $args }
get-hoge.huga (10)
get-hoge.huga ()
get-hoge.huga(10)
get-hoge.huga()

461 :名無し~3.EXE:2009/03/11(水) 16:50:08 ID:nqBHrF+w
[] をファイル名に含むフォルダに移動できないんだけど、どうやれば回避できるの?
ちなみにバージョンは2.0 CTP2

C:\>mkdir "[a]"
Directory: Microsoft.PowerShell.Core\FileSystem::C:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 09/03/11 (水) 16:37 [a]

C:\>cd "[a]"
Set-Location : Cannot find path '[a]' because it does not exist.
At line:1 char:3
+ cd <<<< "[a]"

462 :名無し~3.EXE:2009/03/11(水) 17:05:03 ID:64qgSOZU
[] はファイルグロブだから`でエスケープしないと駄目
cd ``[a``]
cd "``[a``]"
cd '`[a`]'

463 :名無し~3.EXE:2009/03/11(水) 17:06:55 ID:64qgSOZU
cd したいだけなら ?a まで入力してタブ補完した方が楽だと思う

464 :名無し~3.EXE:2009/03/11(水) 22:33:37 ID:6gKAeyH4
>>461

"["と"]"をエスケープして、

 cd '`[a`]'

とやるのが基本だが、"-l"を使って、

 cd -l [a]

とやってもいい。

とかく"["と"]"は悩ましい。

465 :名無し~3.EXE:2009/03/12(木) 08:08:17 ID:MrQJOp9U
WSHから、他のアプリケーションにキー入力を送って自動化のようなことをやってたのですが、
PowerShellで同じことはできますか?


466 :名無し~3.EXE:2009/03/13(金) 08:47:48 ID:MsxOsWTB
WScript.Shellは今までどおり使えるよ

notepad.exe
$p = Get-Process notepad
$w = New-Object -ComObject WScript.Shell
sleep 1
$w.AppActivate($p.Id)
$w.SendKeys("hello")

とかまあそんな感じで

467 :名無し~3.EXE:2009/03/13(金) 12:33:18 ID:PSGZOhtl
>>466
ありがとうございます。
PowerShell独自のブックレットがあるというより、やはりWScript.Shell経由なんですね。


IDかっこいいですね。

468 :名無し~3.EXE:2009/03/13(金) 17:13:11 ID:43dbDnSk
>>467
ブックレット・・・コマンドレットのこと?
WASP使えばできる
http://www.codeplex.com/WASP

Select-Window notepad | Set-WindowActive | % {sleep 1; Send-Keys -window $_ hogehoge }

みたいな感じで

469 :名無し~3.EXE:2009/03/14(土) 19:04:53 ID:bLVkfmRR
>>468
ありがとうございます。
コマンドレットのことを勘違いしてました。

470 :名無し~3.EXE:2009/03/18(水) 12:18:37 ID:Ac/b45Ur
完成したらしい
Download details: IIS Powershell Snap-in (x86)
ttp://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=cdcde9de-26a5-431a-9ef0-49dd88398285

Download details: IIS Powershell Snap-in (x64)
ttp://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=8eefcd98-19bf-414a-b359-9be1897a98a9


471 :名無し~3.EXE:2009/03/20(金) 09:03:01 ID:eISg9OrQ
function Find-Alias ($x) { dir alias: | where {$_.Definition -eq "$x"} | fl -p name }
はきちんと動くのに、
function Find-Alias { dir alias: | where {$_.Definition -eq "$args"} | fl -p name }
としたら動かないのはなぜなんでしょうか?

たとえば
function myecho ($x) { echo $x }
function myecho { echo $args }
はどちらも変わらないんですが。。

472 :名無し~3.EXE:2009/03/20(金) 09:27:32 ID:THD/f+DY
>>471

$argsは配列だ。$_.Definitionは配列じゃない。だから、$_.Definition -eq $argsは使えない。

echoはWrite-Outputのエイリアス。Get-Help Write-Outputをやってみると、

構文
Write-Output [-inputObject] <PSObject[]> [<CommonParameters>]

PSObject[]は配列だ。だから、echo $argsはいける。

473 :名無し~3.EXE:2009/03/20(金) 09:51:50 ID:eISg9OrQ
>>472
丁寧にありがとうございます!
$args は Object[] で、$xに代入した時点で String 型になってるみたい?ですね。
うーん難しい…。まだ完全には解っていませんので、もう少し勉強します。
失礼しました。ありがとうございました。

474 :名無し~3.EXE:2009/03/21(土) 17:28:11 ID:AlaSt7oN
>>471
下の例で出力がどちらも変わらないのは引数が一つの時だけだよ
$argsの要素にはその関数に渡された引数が一つずつ入ってる
$args[0] のように添え字をつければ $x と同じになるよ

475 :名無し~3.EXE:2009/03/25(水) 07:36:51 ID:w7A9SMXs
Powershell 2.0って、XPではまだStart-Jobとか使えない。これってやはり、「早くVistaに乗り
換えろ、ボケ!」というMSの主張を含んでいるんだろうか?

476 :名無し~3.EXE:2009/03/25(水) 12:54:05 ID:ZX1SJAGN
>>475
この辺読んどけ
ttp://blogs.msdn.com/powershell/archive/2008/12/23/early-christmas-present-from-powershell-team-community-technology-preview-3-ctp3-of-windows-powershell-v2.aspx#comments

477 :名無し~3.EXE:2009/03/25(水) 18:19:29 ID:kZGPxN0i
>>476
かいつまんで日本語でお願い。

478 :名無し~3.EXE:2009/03/25(水) 18:52:18 ID:ZX1SJAGN
>>477
XP向けにリモーティング機能を実装すると他の機能を切り捨てざるを得なくなるので後回し

135 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)