次のコマンドを使用して、ディレクトリの内容を txt ファイルに出力しています。
$SearchPath="c:\searchpath"
$Outpath="c:\outpath"
Get-ChildItem "$SearchPath" -Recurse | where {!$_.psiscontainer} | Format-Wide -Column 1'
| Out-File "$OutPath\Contents.txt" -Encoding ASCII -Width 200
これを行うと、必要な情報が含まれたtxtファイルになりますが、必要のない多数の改行が追加され、出力が読みにくくなります。
これは次のようになります。
c:\searchpath\directory
name of file.txt
name of another file.txt
c:\searchpath\another directory
name of some file.txt
これにより、多くのスクロールが必要な txt ファイルが作成されますが、実際の情報はそれほど多くなく、通常は 100 行よりもはるかに少なくなります。
次のようにしたいと思います。
c:\searchpath\directory
nameoffile.txt
c:\searchpath\another directory
another file.txt
これは私がこれまでに試したことであり、機能していません
$configFiles=get-childitem "c:\outpath\*.txt" -rec
foreach ($file in $configFiles)
{
(Get-Content $file.PSPath) |
Foreach-Object {$_ -replace "'n", ""} |
Set-Content $file.PSPath
}
'r も試しましたが、どちらのオプションでもファイルは変更されません。
別の試み:
Select-String -Pattern "\w" -Path 'c:\outpath\contents.txt' | foreach {$_.line}'
| Set-Content -Path c:\outpath\contents2.txt
最後に Set-content なしでその文字列を実行すると、ISE で必要なとおりに表示されますが、最後に Set-Content を追加するとすぐに、不要な場所で再びキャリッジ リターンが発生します。彼ら。
いくつかのキャリッジ リターンといくつかのタブを含むテキスト ファイルを作成した場合、これまで使用してきたものと同じ -replace スクリプトを使用しますが、txt ファイルでt to replace the tabs, it works perfect. But
r とn do not work. It's almost as though it doesn't recognize them as escape characters. But if I add
r と `n を使用してから、スクリプト、それはまだ何も置き換えません。それをどうするか分からないようです。