Wie ändere ich den Dateinamen in Großbuchstaben und die Erweiterung in Kleinbuchstaben?

Wie ändere ich den Dateinamen in Großbuchstaben und die Erweiterung in Kleinbuchstaben?

Ich habe einige Dateien, wie unten gezeigt:

Eingabe: Objektname.TXT

Ich möchte den Namen der Datei mithilfe einer Batchdatei in Großbuchstaben umwandeln, während die Erweiterung in Kleinbuchstaben geschrieben werden soll. Bitte helfen Sie mir, meinen Objektnamen wie unten beschrieben umzuwandeln.

Ausgabe: OBJECTNAME.txt

Ich muss Objektnamen in Windows für die Verwendung in Solaris und Linux konvertieren.

Antwort1

Kein Batch-Skript, sondern ein PowerShell-Skript:

# Get all items in the current directory
Get-ChildItem | %{
    # Construct a new file name
    $newFilename = ($_.BaseName.ToUpper())+($_.Extension.ToLower());

    # Move the file
    Move-Item $_ $newFilename
}

Antwort2

Du könntest benutzenUmbenennenUmbenennungsregel für „Groß-/Kleinschreibung“:

Groß-/Kleinschreibung: Alles groß geschrieben (Erweiterung überspringen), Erweiterung klein geschrieben

Sie können Ihre Regeln als Vorgabe speichern und sie verwenden, um Dateien/Ordner über die Kommandozeile oder auch in einer Batch-Datei umzubenennen, z.B.ReNamer.exe /rename <preset> <files-and-directories>

ReNamer - Name groß, Erweiterung klein

Antwort3

Entschuldigen Sie, ich kann dazu keinen Kommentar abgeben, aber um es in einem Satz auszudrücken:

Get-ChildItem | % { Move-Item -Path $_ -Destination (($_.BaseName.ToUpper())+($_.Extension.ToLower())) }

Antwort4

Habe eine alternative Möglichkeit gefunden, dies zu tun:

Dir | Rename-Item -NewName {$_.BaseName.ToUpper() + $_.Extension.ToLower()}

verwandte Informationen