問題タブ [select-object]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
powershell - ファイルが存在するかどうかをPowershellで確認し、新しいコピーに置き換えます
ディレクトリが存在するかどうかを確認しようとしています。存在する場合は、そのディレクトリ内のすべてのファイルを別のディレクトリの更新されたファイルに置き換えます。
$File がファイルの名前だけでなく @{Name=filename} を返すため、Copy-Item コマンドでエラーが発生し続けます。$File.name、$File.basename などを使用してみましたが、どれも機能していないようです。Powershell でファイル名を "@{Name=}" にラップしないようにするにはどうすればよいですか?
powershell - PoweShell: Select-Object のプロパティのデータ型をキャストする
PowerShell 中にデータ型をキャストするより効率的な方法 (入力時間とパフォーマンスの両方) を探していますSelect-Object
。
現在、個々のプロパティを式でラップして、データ型をキャストしています。これは正しい方法ではないと確信しています。ただ汚く感じるだけです...
私がこれを行っている理由は、JSON スキーマを使用して厳密な検証を適用している REST API にデータを送信しているためです。のデータ$Data
は信頼できません。たとえば、プロパティは JSON 文字列の場合もあれば"12345"
、予期しない JSON Integer の場合もあります12345
。
REST API は、そのキーの整数を想定していなかったため、403 エラーを返します。
powershell - select-object が将来の out-default ストリームに悪い影響を与える
Powershell は、選択したコマンドレットをデフォルトの出力ストリームに結び付け、コマンドの終了後にそれを解放しないようで、将来のコマンドに予期しない方法で影響を与えます。これを行う方法に一貫性がないため、スクリプトを作成するときに明示的に出力を指示しないと、予測可能な出力を生成できません。
この奇妙な現象は、コマンドを別の行に配置したり、異なるオブジェクト生成コマンドレットを混在させたりした場合に発生します。コマンドを別の行で対話的に実行しても発生しません。また、コマンド ラインで自動的に作成されたオブジェクトでは発生しません。 、コマンド ラインで自動的に作成されないオブジェクトを混在させない限り。
コマンドラインのインタラクティブな例を示しますが、これらのコマンドをスクリプトに入れ、各コマンドを別々の行に配置してからスクリプトを実行すると発生します。
そして、楽しみのために、これをチェックしてください:
これは、同じタイプではないオブジェクトにも影響し、実際には、select ステートメントにプロパティを持たないオブジェクトにも影響します。遅延はオプションではなく、out-host または write-host を使用して出力を明示的に強制すると、powershell 出力デバイスに直接書き込まれるため、パイプラインでオブジェクトを生成するために使用されるスクリプトを作成する必要がなくなります。また、変数を台無しにします。観察:
考えている人にとっては、これは単なる表示の問題であり、スクリプトを正しく表示するように記述できます。繰り返しますが、これにより、スクリプトは他のスクリプトで再利用できるツールとして役に立たなくなります。スクリプト内のパイプラインが独立したインタラクティブ シェルのコマンドにどのように影響するかを観察します。
どのシェル スクリプトでも、前のコマンドとは独立してコマンドが実行されることを期待しています。WhatTheFortran は、この動作の背後にあるロジックですか? この予測不可能性を回避するための公式の推奨事項は何ですか?
powershell - Office 365 への接続時に特定のプロパティを表示できない
だから私はo365への接続を自動化し、オンラインで交換するスクリプトを書いています.
私はこの出力を得ています:
ご協力いただきありがとうございます
powershell - 結果セットの列の値として変数を追加するにはどうすればよいですか?
CSV ファイルの値をループする変数があります。ループは CSV にある各値の結果セットを返すので、その値 (変数) も結果セットに返す必要があります。$user
ステートメントに変数 を追加しようとしSelect
ましたが、列ヘッダーに表示されるだけで、値は空白または{}
.
ループコードは次のとおりです。