私がする必要があるのは、テキストファイル(csv、すべてを1つのディレクトリに入れて)を作成し、出力全体が1行ずつ反転するファイルを作成することです。一番下に終わるのではなく、一番上にある。ForEachループを使用してcsvファイルをリバースする
私は1つのファイル(名前で)をとり、最初の行をコピーして、その行だけを含む新しいファイルを作成することができます。次に、元のファイルから最初の行を引いたものを配列に読み込んで逆にします。私はそれをヘッダーだけを持つファイルに追加します。それは出力名を除いてうまくいきますが、これは[file-REV.csv]
になりましたが、これまでは[file.csv-REV]
になっています...
これで作業が完了したら、プログラムはディレクトリ内のcsv
のすべてを見つけ出し、それをループして、それぞれの逆ファイルを作成します。
これは私がこれまでにしたものである。そして、
cmdlet Get-Content at command pipeline position 1
Supply values for the following parameters:
Path[0]:
私はパス全体Get-Content -Path c:\users\jmurphy\working\
に置くことを試みたと:ここ
cd c:\users\$([Environment]::UserName)\working
$Path = "c:\users\$([Environment]::UserName)\working\"
ForEach ($file in Get-ChildItem -Filter *.csv) {
Get-Content $file -totalcount 1 | Set-Content .\$file-REV.csv
$flip = (get-content | select -Skip 1)
[array]::Reverse($flip)
$flip | add-content "$file-REV.csv"
}
スクリプトを実行するときに、私が受け取るメッセージですパス全体を見つけることができないと不平を言う。
私はお勧め最初の事は[ 'は、Get-ChildItemコマンドレットのヘルプ-Detailed'-取得](https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoftの出力を見ることです。 powershell.management/get-childitem)と['Get-Help Get-Content -Detailed'](https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.management/get-コンテンツ)。 'Get-Help'コマンドレットは、PowerShellの使い方を学ぶときに最も便利なコマンドレットです。 –
他の潜在的な問題を無視して、 '$ flip =(get-content $ file | select -Skip 1)'というループからファイル名を 'Get-Content'に与えます。 _c:\ users \ jmurphy \ working_はファイルではなくフォルダです。 – Matt
ありがとうございます。私はあなたの提案から始めます。私はGet-Helpについて知りませんでした(MS-manはそれが好きです)。ありがとう! –