Para archivos por lotes de Windows, esto va a renombrar sólo archivos sin extensión a la extensión .bla:
rename *. *.bla
Aviso el primer argumento es una estrella y un punto: *.
El segundo argumento es: * .bla
El punto de inicio combinación representa archivos sin extensiones en este contexto (*.).
Antes:
06/21/2009 11:57 PM 6 test
06/21/2009 11:57 PM 7 test.exe
06/21/2009 11:57 PM 7 test2
Después:
06/21/2009 11:57 PM 6 test.bla
06/21/2009 11:57 PM 7 test.exe
06/21/2009 11:57 PM 7 test2.bla
Nota adicional: La línea de comandos contrario sería cambiar el nombre de todos los archivos en .bla no hay archivos de extensiones.
EDITAR:
Para el cambio de nombre forma recursiva archivos sin extensión a través de subdirectorios (no admite espacios en los caminos):
@echo off
FOR /F %%i in ('dir /b/s/A-d') DO (
if "%%~xi" == "" rename "%%~fi" "%%~ni.bla"
)
Edit2:
Para cambiar el nombre de archivos de forma recursiva sin extensión en los subdirectorios (admite espacios en la ruta):
@echo off
for /f "tokens=* delims= " %%i in ('dir /b/s/A-d') DO (
if "%%~xi" == "" rename "%%~fi" "%%~ni.bla"
)
Lo consideré, pero ni siquiera hay un punto al final del nombre ... ¿seguirá funcionando? – Alan
Además, ¿cómo incluiría subcarpetas? – Alan
@ Alan - Sí, funcionará, ¿y de cuántas subcarpetas estamos hablando? – JFV