私はCSVファイルを生成するスクリプトを持っています。スクリプトの目的は、特定のファイルがないかどうかを確認することです。たとえば、のは、私は、次のファイルを持っているとしましょう:別のCSVファイルのアイテムに基づいて1つのCSVからアイテムを削除する
1.jpg
2.jpg
3.jpg
4.jpg
1.gif
3.gif
2.txt
3.txt
スクリプトが実行されると、私は視覚的に欠けているものをファイル見ることができますので、それはレポートを生成します。レポートは次のようになります。
JPG Files GIF Files TXT Files
1.jpg 1.gif
2.jpg 2.txt
3.jpg 3.gif 3.txt
私は1.txtと2.gifがありません。私の問題がでてくるのはここ
です....
私は今FIRST CSVで保存しなければならないファイルのリストを持っているSECOND CSVファイルを持っています。 SECOND CSVファイルにないものは、私のFIRST CSVから削除する必要があります。たとえば:
私の最初のCSVが含まれています
1.jpg
2.jpg
3.jpg
1.gif
3.gif
2.txt
3.txt
SECOND CSVは、以下のファイルが残っている必要があると述べている:
したがって1.jpg
3.jpg
1.gif
2.txt
、SECOND CSVファイルに表示されないもの最初のCSVから削除する必要があります。これは、同じ形式を保持しています。つまり、1.jpgが見つからない場合(SECOND CSVにはまだ列挙されていますが、C:\ JPGフォルダには存在しません)最初のCSVで
これは意味があると思います。ご不明な点がございましたら、私にお尋ねください。以下は
FIRST CSVを生成し、私のスクリプトからのコードの一部は次のとおりです。あなたの援助のために事前に
# Get dirs
$dirJPG = "C:\JPG"
$dirGIF = "C:\GIF"
$dirTXT = "C:\TXT"
$files = @()
$files += Get-ChildItem -Path $dirBGR -Filter "*.jpg"
$files += Get-ChildItem -Path $dirMI -Filter "*.gif"
$files += Get-ChildItem -Path $dirW3F -Filter "*.txt"
# Write a datetime stamped CSV file
$datetime = Get-Date -Format "MM_dd_yyyy_hhmm"
$files | Sort-Object -Property { $_.Name } | Group-Object -Property {
[System.IO.Path]::GetFileNameWithoutExtension($_.Name) } | % {
New-Object psobject -Property @{
"JPG" Files" = $_.Group | ? { $_.Extension -eq ".jpg" } | % { $_.Name }
"GIF Files" = $_.Group | ? { $_.Extension -eq ".gif" } | % { $_.Name }
"TXT Files" = $_.Group | ? { $_.Extension -eq ".txt" } | % { $_.Name }
} } | Export-Csv -Path "$datetime.csv" -NoTypeInformation
ありがとう! :D
あなたはPowerShellでCSV1とCSV2データを持っていますか、またはあなたはそれが含まれているものを見つけるために、ファイル*からCSV1データ*をロードする必要がありますか? – Ryan