2

PowerShellスクリプトでAdd-Contentコマンドレットを使用して、foreachループ内の一致を別のテキストファイルに書き込みます。これを行うために、私は次のコードを使用しています:

Add-Content -Path $varListNotFound $match

には$varListNotFoundファイル名とパスが含まれ、$matchはアイテムの範囲で一致しているforeachループの変数です。

違いがあるかどうかはわかりませんが、一致するものはXMLドキュメントから取得されています。

出力テキストファイルでは、名前が長い場合を除いて、XMLファイルのノードで見つかった一致が<name></name>正しく出力されます。名前が長すぎる場合は、名前を76文字に切り捨て、その後に3つのピリオドを追加します。これにより、未使用のアイテムをクリアするために使用しているこのコード行で問題が発生しています。

$xml.rhpml.variables.variable | ? { $varRemove -contains $_.name } | % {$xml.rhpml.variables.RemoveChild($_)}

切り捨ての最後から省略記号を削除できるようにスクリプトに追加しましたが、切り捨てられた名前がXMLドキュメントから削除されていません。

追加コンテンツの長さを延長する方法はありますか?または、切り捨てられた名前を除外しないように上記のXMLコードを取得する方法はありますか?

に変更しようとし$varRemove -contains $_.nameまし$varRemove -like$_.nameたが、XMLからノードが削除されませんでした。

4

1 に答える 1

2

Add-Content の代わりに Out-File コマンドレットを使用してみて、Append プロパティと Width プロパティを指定します。

于 2012-10-25T18:39:16.020 に答える