2012-08-25 16 views
32

Supongamos que tengo una gran cantidad de archivos en un directorio con extensión .txt.¿Cómo cambio la extensión de muchos archivos en un directorio?

¿Cómo puedo cambiar la extensión de todos estos archivos a .c utilizando los siguientes entornos de línea de comandos:

  • de PowerShell en Windows
  • cmd/DOS en Windows
  • El terminal en bash
+2

No estoy seguro de por qué esto fue cerrado (la pregunta me parece bastante clara) pero, en cualquier caso, esencialmente la misma pregunta se puede encontrar (abrir) aquí: http://stackoverflow.com/questions/13382638/how-can-i-bulk-rename-files- in-powershell/13382966 –

+0

@OhadSchneider Más o menos ... desafortunadamente el t itle (aunque no es el caso de uso real) de ese es "¿Cómo puedo cambiar el nombre de los archivos en PowerShell?", que es mucho más amplio, como son las respuestas. La respuesta de Smi aquí es dinero para extensiones. Aún así, no tengo idea de por qué esto está marcado como demasiado amplio tampoco. ¯ \\ _ (ツ) _/¯ – ruffin

Respuesta

64

En Windows, vaya al directorio deseado y escriba:

ren *.txt *.c 

En PowerShell, es mejor usar el método Path.ChangeExtension en lugar de -replace (gracias a Ohad Schneider para la observación):

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

Para Linux (Bash):

for file in *.txt 
do 
mv "$file" "${file%.txt}.c" 
done 
Cuestiones relacionadas