改良されたPowerShell 3.0の構文については見てきましたが、例はまだありません。どのように見えますか?PowerShell 3.0はより洗練された構文を持つはずですが、どのように見えますか?
答えて
Powershellにはすでにきれいな構文がありますので、改善が必要なことはあまりありません。私は好きではないこと
一つの新しい追加は、あなたがそのプロパティでhastableを渡すことによって、オブジェクトを作成することができHash Table as objects
、次のとおりです。
[<ClassName>]$Variable = @{<Property>=<Value>;<Property>=<Value>}
だから、カスタムオブジェクトを作成するための新しい、より簡潔な方法は次のとおりです。
$obj = [PSCustomObject]@{a=1; b=2; c=3; d=4}
リダイレクトが強化されました。 5>&1
$PSDefaultParameterValues
コマンドレットの既定のパラメーター値を設定すると、冗長、デバッグ、警告のストリームが作成されます。注文したhastableを作成するための新しい[ordered]
加速器(辞書)があり
:ここSOで別の答えから
$a = [ordered]@{a=1;b=2;d=3;c=4}
は、私は-in
は、PowerShellのバージョン3.0で追加されたことに気づい:
ですから、 1 -in 1,2,3
のようにしてください。あなたはUpdate-Help
コマンドレットのヘルプを更新することができ
:以前我々は唯一-contains
コマンドレットを持っていました。 Invoke- WebRequest
のようなWeb関連のコマンドレットがあります。 ConverTo-JSON
およびConvertFrom-JSON
コマンドレットを使用してJSONを処理することもできます。
「順序付けられたhastable(辞書)」:私は「辞書」および「ハッシュテーブル」があったと思った同義語。たぶん私はPythonの辞書と混同しているかもしれませんが、辞書は命令を課すものではありませんか?それを明確にすることはできますか? –
は、ここに例です:foreachのオブジェクト
dir | foreach-object length
dir | where length -lt 10
、それは
dir | where {$_.length -lt 10}
編集されているだろう
+1 - 前に気付かなかった。 – manojlds
私は提出者に同意します。これは、スクリプトを少し読みやすくするために、私がいくつかの投稿を見ることを期待していたものです。私はそれが好きだとは思わない。 '$ PSItem'の場合は+1。 –
多くの共通の*-Object
コマンドレットは、簡略化された構文を達成するために複数のパラメータセットを使用します。
C:\PS> Get-Command Where-Object -Syntax
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] [-EQ] [<CommonParameters>]
Where-Object [-FilterScript] <scriptblock> [-InputObject <psobject>] [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -CGT [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -CNE [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -LT [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -CEQ [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -NE [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -GT [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -CLT [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -GE [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -CGE [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -LE [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -CLE [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -Like [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -CLike [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -NotLike [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -CNotLike [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -Match [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -CMatch [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -NotMatch [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -CNotMatch [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -Contains [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -CContains [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -NotContains [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -CNotContains [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -In [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -CIn [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -NotIn [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -CNotIn [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -Is [<CommonParameters>]
Where-Object [-Property] <string> [[-Value] <Object>] [-InputObject <psobject>] -IsNot [<CommonParameters>]
注:V3にこれを見てください新しい演算子をチェック-NotIn
と-In
例:
C:\PS> 1 -In 1..5
C:\PS> 10 -NotIn 1..5
だから、単純化された構文は、「共通」の場合のための素晴らしいですが、よう気をつけてくださいあなたは鋭い岩や溶岩にかなり簡単に落ちることができます。:あなたが期待するかもしれないとして、実際にはこの構文がうまく動作しないとき、結果セットは「正しく」空だと思うので、
C:\PS> Get-ChildItem | Where LastWriteTime.Year -eq 2010
これは何も悪いことを返さない、エラーがありません。つまり、プロパティのプロパティにアクセスすることはできません。上の例では、PowerShellは存在しないLastWriteTime.Year
という名前のプロパティを探します。
$_
のアレルギー反応のある種のスクリプトを作成した場合、簡略化された構文の一部として、$_
の代わりに$PSItem
を使用できるようになりました。 :-)
そして、これは、必ずしもそれが私の人生を簡素化し、私はそれを愛することを私は見つける単純化された構文に結びついていない間:
C:\PS> Get-ChildItem -Directory
C:\PS> Get-ChildItem -File
C:\PS> dir -ad
C:\PS> Get-ChildItem -Attributes System+Hidden+Directory+!Archive
+1です。ところで、どうやってこれらのことを知ることができますか?全体が文書化されていますか? – manojlds
ええ、私は単純な構文が好きではありません。 – manojlds
私は単純な構文について心配しています。私は管理者がPowerShellに乗りやすいようにしたいと思っていますが、これは 'bait&switch'以上のものではないかと私は確信しています。時間は私が推測するでしょう。これらのことを知る限り、MVPであることはその特権を持っています。 :-)しかし、PowerShellチームとMVPのやりとりは、2006年にPowerShellでMVPを開始して以来、非常に良いものでした。 –
- 1. Rebolでこれを行うためのより洗練された構文がありますか?
- 2. 洗練されたUIロジックをどのように実装しますか?
- 3. WPFのテキストボックスとブラウズファイル - より洗練されたソリューションはありますか?
- 4. PHP:より洗練されたコードを作成する
- 5. より洗練されたユーザーオブジェクトを設計する
- 6. PHP PDO:私のPHPはより洗練された/より効率的なものになりますか?
- 7. 大きなswitch文のためのより洗練されたソリューションがありますか?
- 8. このトリミングアルゴリズムのより洗練された言い換えは何ですか? (Pythonで)
- 9. ハッシュされた配列にアクセスするより洗練された方法
- 10. Rのサブセット複数の列 - より洗練されたコード?
- 11. 動的SQLをエスケープするより洗練された方法ですか?
- 12. Ruby Koansのより洗練されたソリューションtriangle.rb
- 13. Ajaxコードはどの程度洗練されていますか?
- 14. データを照会するためのより洗練された方法がありますか?
- 15. どのようにデータセットを洗練に使用できますか
- 16. Pythonで2D点のリストを作成するより洗練された方法
- 17. SSL構文 - どのように見えますか?
- 18. は、どのように私はこれらのいずれかのように見えるいくつかの文字列を持っているRubyの
- 19. Clang:AST(抽象構文ツリー)はどのように見えますか?
- 20. どのようにこの構文は、Pythonで保持されませんか?
- 21. 洗練されたチェックボックスのフォーム
- 22. 複数の行をロールアップするためのより洗練された方法ですか?
- 23. このjQueryコードをもっと潔く、より洗練されたものにするにはどうすればいいですか?
- 24. より洗練された、より速い、またはよりエレガントな/好都合なコードはどれですか?すでにこれを行う関数はありますか?
- 25. 構文エラーが見つかりました。および。
- 26. NSNotificationCenterによりバグが発生する可能性があります。より洗練されたソリューションをご存知ですか?
- 27. 最も洗練されたCSSレンダリングバグ(IE9)
- 28. JQUERY洗練された選択
- 29. Sharepoint 2010洗練された年月日
- 30. ファイルのバッチからアイテムを削除するより洗練されたソリューションですか?
有用ではなかったこれのどの部分?あなたはそれをダウンロードできるようです。 http://social.technet.microsoft.com/Forums/en-AU/ITCG/thread/4807949e-58e6-4533-b35d-580d938dfbb2 –