Come rinominare in batch e rimuovere gli ultimi caratteri


2

In Windows XP, sto cercando di capire come rinominare in batch e rimuovere gli ultimi caratteri dei nomi dei file.

Esempio di rimozione degli ultimi 4 caratteri prima dell'estensione del file: file.doc.pdf -> file.pdf

Potrei fare:

ren *.pdf *.
ren *.doc *.pdf

Anche se questo non funzionerebbe bene se nella cartella ci sono già altri PDF.

Non sono sicuro se il comando FOR è necessario qui.


Per la rimozione: che ne dici di usare due punti? ren *.doc. *.In questo modo altri file con estensione .doc non vengono toccati.
nixda,

@nixda: *.doc.non funzionerà (file non trovato).
Karan,

Risposte:


2

Se i nomi dei tuoi file non contengono periodi diversi dalla fine (.doc.pdf), funzionerà quanto segue:

for /f "delims=." %a in ('dir /b *.doc.pdf') do ren "%~a.doc.pdf" "%~a.pdf"

Se lo desideri, puoi inserire un echoprecedente renper visualizzare in anteprima tutte le operazioni di ridenominazione.
Karan,

Karan, il tuo comando funziona, ma solo se lo incollo nella finestra di comando, non dal file batch. Qualche idea?
Anello infinito

Naturalmente, in un file batch è necessario raddoppiare ogni segno%. Quindi ogni% diventerà %%. Provalo e vedi!
Karan,

A proposito, se questa e la mia risposta precedente ti hanno aiutato a non dimenticare di accettarle usando il segno di spunta verde a sinistra (fai clic su di esso in modo che si riempia). Grazie!
Karan,

@Karan - In realtà esiste una soluzione sorprendentemente semplice che utilizza un solo comando REN :) Vedi la mia risposta
dbenham

1

ren * *. -> will give you 'file.doc' repeat above command -> will give you 'file' ren * *.pdf -> will give 'file.pdf'



-1

file.doc.pdf -> file.doc:

for %I in (*.doc.pdf) do rename "%~nI.pdf" "%~nI"

file.doc -> file.pdf

for %I in (*.doc) do rename "%~nI.doc" "%~nI.pdf"

Siamo spiacenti, ma -1. Devi usare le virgolette o entrambi i comandi falliranno se i nomi dei file hanno spazi. Inoltre, invece di rinominare .doc.pdf in .pdf, il tuo primo comando in realtà rinominerà in .doc
Karan il
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.