per Windows file batch, questo sarà rinominare solo i file senza estensione alla estensione .bla:
rename *. *.bla
Avviso il primo argomento è una stella e un punto: *.
Il secondo argomento è: * .bla
Il punto di partenza combinazione rappresenta i file senza estensioni in questo contesto (*.).
Prima:
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
Dopo:
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 aggiuntiva: La linea di comando contrario sarebbe rinominare tutti i file .bla in nessun file di estensione.
EDIT:
per rinominare i file in modo ricorsivo senza estensione attraverso le sottodirectory (non supporta gli spazi nei percorsi):
@echo off
FOR /F %%i in ('dir /b/s/A-d') DO (
if "%%~xi" == "" rename "%%~fi" "%%~ni.bla"
)
EDIT2:
Per i file in modo ricorsivo rinominare senza estensione tra le sottodirectory (supporta gli spazi nel percorso):
@echo off
for /f "tokens=* delims= " %%i in ('dir /b/s/A-d') DO (
if "%%~xi" == "" rename "%%~fi" "%%~ni.bla"
)
fonte
2009-06-22 03:58:41
Ho pensato che, ma non c'è nemmeno un punto alla fine del nome ... funzionerà ancora? – Alan
Inoltre, come includere le sottocartelle? – Alan
@Alan - Sì, funzionerà e di quante sottocartelle stiamo parlando? – JFV