Changer nom fichiers avec invite de commandes cmd

Résolu/Fermé
brino1987 - Modifié par brino1987 le 31/03/2013 à 03:32
 brino1987 - 2 avril 2013 à 17:27
Bonjour,
j'ai plusieurs fichiers de ce type snort.log.xxxxxxxx et j'aimerai changer leurs extensions d'un seul coup en .log avec un code java ou un commande cmd (c à d leurs noms deviennent snort_*.log).
j'entends vos aides et vos lumières chers amis svp.

merci d'avance
A voir également:

2 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
31 mars 2013 à 11:20
hello
que représente le * dans le nom ? snort_*.log
1
le * représente un numéro par exemple j'ai 3 fichier snort:

snort.log.123354545645
snort.log.338735487465
snort.log.232746738463

les numéros sont des types(extensions) de ces fichiers

moi j'aimerai changer ces types en types log mais le problème est que ces 3 fichiers porte les mème nom snort et donc windows n'accepte pas cela

avez vous une idée svp??
merci d'avance :)
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
2 avril 2013 à 09:22
enlever le echo pour effectuer le rename
@echo off
SETLOCAL ENABLEdelayedExpansion
for %%a in (snort*.*) do (
	set x=%%~na
	set n2=!x:.log=!
	set n3=%%~xa
	set n3=!n3:.=_!
	echo ren %%a !n2!!n3!.log
)
0
merci dubcek, mais où je veux tape ce commande???
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
Modifié par dubcek le 2/04/2013 à 17:02
mettre les commandes dans un fichier .bat et exécuter ce fichier, ou exécuter cette commande, plus courte:
for %a in (snort.log.*) do @for /f "delims=. tokens=1-3" %b in ('echo %a') do @echo ren %a %b_%d.%c
enlever le 2ème echo pour renommer
0
merci pour votre aide ,

je fais ce qui vous me dites mais lorsque je tape le commande .bat sur cmd il m'affiche
ren snort.log.xxxxxxxxx snort_xxxxxxxxx.log et rien ne change :(
0
jee pee Messages postés 39578 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 16 avril 2024 9 221
Modifié par jee pee le 31/03/2013 à 11:44
Salut,

Je suppose que le * c'est le xxxx du nom d'origine

On peut faire cela :

for %I in (snort.log.*) do rename %I snort%~xI.log

le fichier snort.log.0001 devient snort.0001.log

(référence en ligne de cde Windows 7: help for)

On doit pouvoir avec des instructions de traitement de chaines remplacer le . par _ mais j'ai fait au plus simple ;-)


Un étranger, c'est un ami qu'on n'a pas encore rencontré.
0