7,Id 6,Default
だから、これらは
ですが2つの連続した行。メモ帳で+ +私は行の最後にCRLFを参照してください。 Google検索に続いて、これは閉じる必要があります。Get-ChildItem "D:\Wim\TM1\TI processes" -Filter *.vue -Recurse |
Select-String -Pattern "7,Id\r\n6,Default" -CaseSensitive |
Out-File C:\test.txt
ただし、ファイルが見つかりません。最初の部分(7,Id
)と2番目の部分(6,Default
)が正しく見つかりましたが、改行との組み合わせは機能していません。
どのようなアイデアをお願いしますか?多分代替ですか?
私は回避策がありますが、それは非効率的で多くのコーディングです。たとえば、PowerShellを使用して最初のセンテンスのみのリストを作成し、これらのファイルを処理して2番目のセンテンスと一致するかどうかを調べることができます。私はそれを避けたい。 Select-String
で
こんにちは、 奇妙な! 私は、Ansgar Wiechersの第2の提案が働いているが、一度だけ投稿する予定だった!私は何が起こっているのか分かりませんが、私のファイルC:\ test.txtに2行の結果があり、それ以来私はもう成功を再現できません。いいえC:\ test.txtが作成されます。 Ansgar Wiechersの最初の提案とjj27の提案は、最初からファイル "C:\ test.txt"を返さなかった。 フィードバックをいただきありがとうございます。 –
ステップごとにパイプラインを確認します。 'Get-ChildItem'は関連するファイルをリストしていますか?彼らは実際に問題の行を含んでいますか? 'Where-Object'は実際に何かにマッチしますか? 'ForEach-Object'は関連する行を出力しますか?入力が変更されていない場合は、上記のステートメントが1回だけ機能する理由はありません。 –
謝罪、それは自分でコピー/ペーストする方法でした。 SOからあなたのソリューションをコピーしたとき、私はペーストして>>の前に現れました。私は入って何も起こらなかった。それから私は1つの長い文を作成し、Enterを押すことを理解しました。ビンゴ!両方のソリューションが動作します、ありがとう!ただ1つのフォローアップの質問:2つの一致する行ではなく、出力テキストファイルにフルネーム(パスとファイル名)を付けることはできますか?それは完璧です。 –