Come rinominare un gruppo di file nel prompt dei comandi?


7

Ho un problema con i nomi dei file. La stupida telecamera che sto usando reimposta la sequenza di numerazione automatica ogni tanto, e quindi ricevo tonnellate di conflitti se provo a mettere un sacco di foto in un singolo file.

So che c'è un modo per rinominarli tutti in qualcosa di simile al seguente:

1.jpg, 2.jpg, 3.jpg. . . 2000.jpg, ecc ...

Sfortunatamente, sono tra la generazione che non ha mai usato il DOS molto prima che Windows uscisse con tutti i suoi trucchi finti. Ho provato a trovare un'app per farlo, ma sono piuttosto patetici, quindi voglio farlo solo con Windows .cmd o con un semplice .bat (è lì che ho trovato un discreto controllo sui file). Qualcuno può aiutarmi con il codice?


4
La finestra della console di Windows non ha assolutamente nulla a che fare con MS-DOS.
Cat Plus Plus

Ci sono pochissime persone che considerano il "codice" dei file batch.
Mark Ransom

1
@ Cat ad eccezione dei comandi. Quasi tutti i comandi sono gli stessi del DOS, ad eccezione di alcuni nuovi che sono stati aggiunti in Windows
Nate Koppenhaver

hai fatto qualche sforzo di ricerca tu stesso?
Dave

Risposte:


3

Ho amato la linea di comando sin dalla metà degli anni '80, ma devo ammettere che questo è un settore su cui faccio sempre affidamento Rename-It! So che vuoi DOS, ma lascerò questo solo nel caso in cui qualcuno si imbatta in qualcosa che non ha sentito parlare.

Nei momenti in cui avevo bisogno di un controllo estremo sui singoli file (di solito in gruppi) ho utilizzato un foglio di calcolo per creare il file batch. In questo caso, utilizzo DIR / B per raccogliere i nomi di file in un file di testo, incollarli in una colonna, creare il comando di ridenominazione in una colonna finale (D in questo caso), quindi incollare la colonna in un file .BAT ed eseguirla.

enter image description here


12

Il seguente file batch fa ciò che vuoi:

@echo off
setlocal EnableDelayedExpansion
set i=0
for %%a in (*.jpg) do (
    set /a i+=1
    ren "%%a" "!i!.new"
)
ren *.new *.jpg

I file vengono prima rinominati con .new estensione per evitare conflitti con i file in fase di elaborazione e quindi rinominati in .jpg alla fine.


3

Puoi usare ReNamer e definire le regole logiche che desideri. Elimina, Sostituisci, Ripulisci, Registra, inserisci i meta tag, persino crea un script per la regola personalizzata.

Di seguito è riportato un esempio di regole per la ridenominazione delle sequenze di immagini dalla fotocamera digitale:

  1. Elimina: Elimina dalla posizione 1 fino alla fine (salta l'estensione)
  2. Inserisci: Inserisci "Nuovo nome" come suffisso (salta l'estensione)
  3. Serializza: Serializza incrementale da 1 passo 1 ripeti 1 e pad fino a 3 come suffisso (salta l'estensione)

enter image description here


1

Questo farà ciò che vuoi dalla riga di comando, usando un file batch:

@echo off
SET COUNT=1
SET PREFIX=Photos
FOR /f "tokens=*" %%G IN ('dir /b *.jpg') DO (call :renum "%%G")
GOTO :eof

:renum
 ren %1 %PREFIX%_%count%.jpg
 set /a count+=1
 GOTO :eof

Basato su qualche codice di esempio su SS4 .


0

Non proprio una domanda di programmazione, o piuttosto qualcosa che può in qualche modo essere risolto attraverso un semplice windows ui. Per quanto ne so, funziona solo su Windows 7, ma se selezioni un gruppo di file e premi F2, o premi il tasto destro e gt; rinomina, puoi rinominare il primo e il resto otterrà lo stesso nome, con (1), (2), (3) e così via aggiunto. Le estensioni dei file rimangono invariate.


0

Se la tua fotocamera tagga le foto con informazioni (spesso tag EXIF), e l'orologio della tua fotocamera è almeno quasi accurato, puoi usare una delle varie utility di ridenominazione dei file per usare quei dati per rinominare (e ordinare in cartelle, se vuoi) le tue foto in base al loro orario.

exiv2 è un'utilità della riga di comando che può eseguire il lavoro e denNome di den4b è una utility GUI che farà anche il lavoro. ReNamer è un rinominatore generico, non è specifico per la foto. exiv2 è principalmente uno strumento di manipolazione di tag di foto che anche rinomina.


No, la fotocamera era una modella molto stupida. Si perde tutto il tempo, le date e tutti i tag sono incasinati :(
user1001652

0

Questa app GUI eseguirà un file sequenziale che rinominerà 01,02,03 o 0102,0103,0104. È molto vecchio, non sono più riuscito a trovare il sito degli autori.

http://www.mediafire.com/?71797x4vuv1u6mo (156k zip singola applicazione portatile eseguibile 300k chiamata renmfl.exe)

Lo uso per rinominare molti file per l'incordatura in ordine. Caricherà ordinato Come selezionato, quindi inserirà una semplice numerazione sequenziale sui file caricati in (usa CTRL A quando selezioni l'intera cartella in modo che tutti i file siano in ordine). Avrà anche inizio a un numero specifico.

Ha una lunghezza limitata di tutti i nomi dei file (quantità di file alla volta), a causa del metodo di caricamento dei file. Non consentirà il ricorso manuel dei file prima della numerazione (solo in ordine alfabetico). puoi anche inserire un tag ma non ho mai usato quella funzione. YoSemiPic401, YoSemiPic402, YoSemiPic403. eccetera

Fa solo un tipo di ridenominazione, ma per quel tipo lo fa bene, lascia le estensioni così com'è, io uso un programma diverso per quello.


"superb batch renamer" che è circa 10 volte più complesso, farà aggiunte numeriche sequenziali nella sezione Append o random o su qualsiasi altra cosa tu possa pensare.

http://www.mediafire.com/?vxgmac394cx03te (Eseguibile portatile 350k Zip 666k, e-mail ware)

Per impostare sequenze al suo interno, premi F2 per entrare in modalità avanzata, seleziona [x] Aggiungi per accenderlo, IN nella casella di inserimento del testo Fai clic con il pulsante destro del mouse, in c'è una serie di cose che puoi aggiungere. Uno di questi è il numero ordinato.


-1

Non una domanda di programmazione.

Utilizzare il REN comando.

http://ss64.com/nt/ren.html


Ya, mi spiace che non sia interamente correlato all'idea dietro questo sito. @Nick Brooks, sì, ma non riesco a trovare un modo per rinominare i file con un numero incalcolabile. Ho capito che avrei dovuto scrivere un file batch, ma mi mancano severamente in .bat coding knoledge, ecco dove arriva la leggera programmazione: D
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.