A partire da Windows 7 è possibile eseguire questa operazione in una riga di PowerShell.
powershell -C "gci | % {rni $_.Name ($_.Name -replace '120x90', '67x100')}"
Spiegazione
powershell -C "..."
lancia una sessione di PowerShell per eseguire il comando citato. Ritorna alla shell esterna al termine del comando. -C
è l'abbreviazione di -Command
.
gci
restituisce tutti i file nella directory corrente. È un alias per Get-ChildItem
.
| % {...}
rende una pipeline per elaborare ogni file. %
è un alias per Foreach-Object
.
$_.Name
è il nome del file corrente nella pipeline.
($_.Name -replace '120x90', '67x100')
utilizza l'operatore -replace
per creare il nuovo nome file. Ogni occorrenza della prima sottostringa viene sostituita con la seconda sottostringa.
rni
modifica il nome di ciascun file. Il primo parametro (chiamato -Path
) identifica il file. Il secondo parametro (chiamato -NewName
) specifica il nuovo nome. rni
è un alias per Rename-Item.
Esempio
$ dir
Volume in drive C has no label.
Volume Serial Number is A817-E7CA
Directory of C:\fakedir\test
11/09/2013 16:57 <DIR> .
11/09/2013 16:57 <DIR> ..
11/09/2013 16:56 0 750_MOT_Forgiving_120x90.jpg
11/09/2013 16:57 0 751_MOT_Persecution_1_120x90.jpg
11/09/2013 16:57 0 752_MOT_Persecution_2_120x90.jpg
3 File(s) 0 bytes
2 Dir(s) 243,816,271,872 bytes free
$ powershell -C "gci | % {rni $_.Name ($_.Name -replace '120x90', '67x100')}"
$ dir
Volume in drive C has no label.
Volume Serial Number is A817-E7CA
Directory of C:\fakedir\test
11/09/2013 16:57 <DIR> .
11/09/2013 16:57 <DIR> ..
11/09/2013 16:56 0 750_MOT_Forgiving_67x100.jpg
11/09/2013 16:57 0 751_MOT_Persecution_1_67x100.jpg
11/09/2013 16:57 0 752_MOT_Persecution_2_67x100.jpg
3 File(s) 0 bytes
2 Dir(s) 243,816,271,872 bytes free
fonte
2013-09-11 15:59:44
finestre e tutto ciò che viene eseguito in un file bat o .cmd? – Blainer
Amico, se vuoi un aiuto non puoi aspettarti che tutti siano sensitivi. –