2012-08-25 14 views
32

Angenommen, ich habe eine große Anzahl von Dateien in einem Verzeichnis mit der Erweiterung .txt.Wie ändere ich die Erweiterung vieler Dateien in einem Verzeichnis?

Wie kann ich ändern, um die Erweiterung aller dieser Dateien .c die folgende Befehlszeile Umgebungen:

  • Powershell in Windows
  • cmd/DOS in Windows
  • Das Terminal in bash
Wechseln Sie unter Windows zum gewünschten Verzeichnis und geben Sie
+2

nicht sicher, warum dies war geschlossen (Frage scheint mir ziemlich klar), aber auf jeden Fall kann im Wesentlichen die gleiche Frage (offen) hier gefunden werden: http://stackoverflow.com/questions/13382638/how-can-i-bulk-rename-files- in-powershell/13382966 –

+0

@OhadSchneider Irgendwie ... leider die t itle (obwohl nicht der eigentliche Anwendungsfall) von diesem ist "Wie kann ich Dateien in Powershell großformatig umbenennen?", was viel breiter ist, ebenso wie die Antworten. Smis Antwort hier ist Geld für Erweiterungen. Dennoch, keine Ahnung, warum dies auch als zu breit markiert ist. ¯ \\ _ (ツ) _/¯ – ruffin

Antwort

64
ein

In Powershell ist es besser, die Path.ChangeExtension Methode statt -replace (dank Ohad Schneider für die Bemerkung) zu verwenden:

Dir *.txt | rename-item -newname { [io.path]::ChangeExtension($_.name, "c") } 

Für Linux (Bash):

for file in *.txt 
do 
mv "$file" "${file%.txt}.c" 
done 
Verwandte Themen