0 Pluspunkte 0 Minuspunkte

Ich habe in einem Ordner mehrere CSV Dateien, die am Ende immer das selbe stehen haben z.B

share1_ntfs_20240201.csv
share2_ntfs_20240201.csv

u.s.w. Wie kann ich mit einem Script aus allen Dateinamen jeweils den Teil an "_ntfs_" ausschneiden´so das die Dateien am Ende so heissen?

share1.csv
share2.csv
von  

2 Antworten

0 Pluspunkte 0 Minuspunkte

Du kannst Python benutzen. Hier ist ein Beispiel Script:

import os

for datei in os.listdir(c:\tmp"):
    if datei.endswith(".csv") and "_ntfs_" in datei:
        os.rename(os.path.join(ordner, datei), os.path.join(ordner, datei.split("_ntfs_")[0] + ".csv"))
von (732 Punkte)  
0 Pluspunkte 0 Minuspunkte

Du kannst den Ordner in einer Schleife durchlaufen und mit einer Regular Expression den Dateinamen bearbeiten/ersetzen. Hier ist ein Beispiel wie du das in Powershell machst.

Get-ChildItem -Path "pfad/zu/csvs" -Filter "*.csv" | ForEach-Object {
    if ($_.Name -match "^(.*)_ntfs_.*\.csv$") {
        $neuerName = "$($matches[1]).csv"
        $alterPfad = $_.FullName
        $neuerPfad = Join-Path $ordner $neuerName
        Rename-Item -Path $alterPfad -NewName $neuerName
        Write-Host "Umbenannt: $($_.Name) -> $neuerName"
    }
}
von (1.1k Punkte)