Cómo cambiar las extensiones de archivo de archivos existentes simultáneamente


1

¿Hay alguna manera de cambiar las extensiones de archivo de los archivos existentes (dentro de una carpeta) simultáneamente?

Tengo una carpeta y dentro hay diferentes subcarpetas (anidadas). Todos los archivos son .txt, y quiero cambiarlos a .md.

¿Hay alguna manera de cambiarlos simultáneamente, o realmente necesito modificarlos uno por uno? :-(

Gracias Faye

Preguntas adicionales:

@ user1016274: Gracias. Por cierto, ¿funcionará también con archivos sin extensiones? Todavía no lo he probado, pero descubrí que algunas carpetas tienen archivos sin extensión. Por favor vea la imagen que agregué (arriba), por favor vea. Gracias.

ingrese la descripción de la imagen aquí


Ejecute cmd, vaya al directorio donde residen los archivos y escriba ren *.txt *.md.
AFH

@AFH: Gracias por la respuesta, pero esa solución no será buena en mi caso, porque tengo varias estructuras de carpetas profundamente anidadas. Hacer eso significaría que tengo que hacerlo en cada carpeta, cada subcarpeta, cada carpeta dentro de todas las subcarpetas, etc. ¿Hay alguna otra solución? Gracias, Faye ..
Faye

Si hubiera estado en mi computadora cuando respondiste, te habría dado la respuesta del usuario 1016274 . Tenga en cuenta que reny renameson sinónimos.
AFH

Respuestas:


2

El renamecomando permite un comodín:
rename *.txt *.mdcambiaría el nombre de todos los archivos en una llamada, en el directorio actual.

Ahora solo necesita recorrer todos los directorios desde el directorio raíz. Para esto, hay un forcomando:
cd /d <rootdir> & for /R %d in (.) do @echo %d

Poniendolo todo junto:

cd /d <rootdir>
for /R %d in (.) do @rename "%d\*.txt" *.md

¿Pueden hacerme un poco más claro? ¿Debo escribir 'tal cual', y solo necesito cambiar el <rootdir> y poner el nombre de mi directorio, es decir: <E: \ Documents \ Freelance \ Project22 \>? Gracias, Faye
Faye

Sí exactamente. Para estar seguro, puedes hacer una prueba con do @dir /b %d\*.txt. Verá un mensaje de error para cada directorio que no contiene ningún archivo '.txt'.
user1016274

Gracias, experimentaré con eso más tarde en casa, y lo marcaré como la respuesta correcta si acerté. Gracias.
Faye

Tenga en cuenta: agregué comillas para cuidar los directorios que contienen espacios en sus nombres. Y en segundo lugar, la sintaxis es correcta para ejecutar el comando desde una línea de comando, no dentro de un archivo por lotes. Dentro de un archivo por lotes, debe duplicar cada carácter '%'.
user1016274

Gracias. Por cierto, ¿funcionará también con archivos sin extensiones? Todavía no lo he probado, pero descubrí que algunas carpetas tienen archivos sin extensión. Por favor vea la imagen que agregué (arriba), por favor vea. Gracias. Esos también son archivos de texto (historias de libros), puedo verlos y editarlos en VS-Code, pero no tienen extensiones.
Faye
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.