Bereinigung von Dateien die nicht mehr in einer Excel Datei aufgeführt sind
Ich habe ein kleines Problem und betsimmt hat einer scho etwas fertiges in der Schublade, das er mir zur Verfügung stellen kann.
Ich habe eine Excel Datei in der in der Spalte c Dateinamen stehen. in einem Ordner c:\temp sind die dazugehörigen Dateien.
Mit einem Script möchte ich alle Dateien löschen, die nicht mehr in der Excel aufgeführt sind.
Kann mir einer hierbei helfen ?
Vielen Dank
Ich habe eine Excel Datei in der in der Spalte c Dateinamen stehen. in einem Ordner c:\temp sind die dazugehörigen Dateien.
Mit einem Script möchte ich alle Dateien löschen, die nicht mehr in der Excel aufgeführt sind.
Kann mir einer hierbei helfen ?
Vielen Dank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 73489983378
Url: https://administrator.de/forum/bereinigung-von-dateien-die-nicht-mehr-in-einer-excel-datei-aufgefuehrt-sind-73489983378.html
Ausgedruckt am: 22.12.2024 um 06:12 Uhr
2 Kommentare
Neuester Kommentar
Moin,
(löscht ohne Bestätigung - vorher testen!)
# Pfad zur Excel-Datei und zum Ordner
$excelFilePath = "C:\tmp\test.xlsx"
$folderPath = "C:\tmp\temp"
$excel = New-Object -ComObject Excel.Application
$workbook = $excel.Workbooks.Open($excelFilePath)
$worksheet = $workbook.Sheets.Item(1)
$usedRange = $worksheet.UsedRange
$fileNames = @()
for ($row = 1; $row -le $usedRange.Rows.Count; $row++) {
$fileName = $worksheet.Cells.Item($row, 3).Text
if ($fileName) {
$fileNames += $fileName
}
}
$workbook.Close()
$excel.Quit()
$allFiles = Get-ChildItem -Path $folderPath -File
foreach ($file in $allFiles) {
if ($fileNames -notcontains $file.Name) {
Remove-Item -Path $file.FullName -Force
}
}
(löscht ohne Bestätigung - vorher testen!)