Pb rename sous DOS

Pb rename sous DOS - Win NT/2K/XP - Windows & Software

Marsh Posté le 17-07-2003 à 17:24:44    

j'aimerais faire un rename dans un batch mais ca marche pas
 
un fichier imc1107.d01  
un fichier resultat : ic011107.DB1
 
ren imc*.d01 ic01*.DB1
 
ca marche pas ca me donne un fichier ic01107.DB1
il m'a bouffé un carctere !!!!


---------------
Funkelly
Reply

Marsh Posté le 17-07-2003 à 17:24:44   

Reply

Marsh Posté le 17-07-2003 à 17:28:30    

Bizarre  :bounce:

Reply

Marsh Posté le 17-07-2003 à 17:29:41    

ben oué surtout tres chiant ;)


---------------
Funkelly
Reply

Marsh Posté le 17-07-2003 à 17:38:17    

et en le faisant en plusieurs fois ?
 
ren imc*.* ic01*.*
ren ic01*.* ic*.db1

Reply

Marsh Posté le 17-07-2003 à 17:39:49    

ben non apres le premier rename il a déja bouffé un caractere ce couillon


---------------
Funkelly
Reply

Marsh Posté le 17-07-2003 à 17:42:44    

Mais il c.. ton DOS !
Je vais essayer ça se soir sur mon PC  :hello:

Reply

Marsh Posté le 17-07-2003 à 17:44:41    

c clair c zarbi


---------------
Funkelly
Reply

Marsh Posté le 17-07-2003 à 18:05:42    

tu as essayé :  
ren imc????.d01 ic01????.db1
?
 
Ton problème doit venir de la gestion des caractères génériques par DOS.
 
edit : marche pas non plus


Message édité par JPA le 17-07-2003 à 18:08:50
Reply

Marsh Posté le 17-07-2003 à 20:00:58    

merde ca fout toute la compta en l'air :) j'avais meme pas remarqué !!!!


---------------
Funkelly
Reply

Marsh Posté le 17-07-2003 à 22:09:56    

X-Files a écrit :

Je vais essayer ça se soir sur mon PC  :hello:  


J'y arrive pas  :sweat:  
J'ai lancé un SOS à demain  :jap:

Reply

Marsh Posté le 17-07-2003 à 22:09:56   

Reply

Marsh Posté le 18-07-2003 à 07:53:06    

euh qqun a déja du faire ca une fois dans sa vie non ?


---------------
Funkelly
Reply

Marsh Posté le 18-07-2003 à 09:29:29    

Je peux te faire celà avec un batch mais pas en une seule ligne de commande.
Si celà t'intéresse, reposte.
Sinon tu as "ant renamer" de notre modo favori qui peut être une bonne réponse à ton problème.
A+

Reply

Marsh Posté le 18-07-2003 à 09:30:51    

je veux bien voir ce que cela donne avec un batch :)


---------------
Funkelly
Reply

Marsh Posté le 18-07-2003 à 09:45:21    

en fait il faut 2 batch :
1.bat :
for %%i in (*.d01) do call 2.bat %%i
set _toto=
 
2.bat :
set _toto=%1
copy %_toto% ic01%_toto:~3,-3%db1
 
 
A+
 
edit : j'ai mis copy pour le test, le remplacer par ren
désolé de l'oubli


Message édité par JPA le 18-07-2003 à 09:54:49
Reply

Marsh Posté le 18-07-2003 à 09:54:22    

you are my god  :jap:  
 
j'avais jamais fait ca en batch, c super cool
merci boooocou :)


---------------
Funkelly
Reply

Marsh Posté le 18-07-2003 à 09:56:11    

de rien
au fait, tu as vu l'edit de mon post ? (oubli de remplacer copy par ren)

Reply

Marsh Posté le 18-07-2003 à 10:00:05    

ouip ca j'avais fait  [:al zheimer]


---------------
Funkelly
Reply

Marsh Posté le 18-07-2003 à 10:28:55    

JPA
 
tu peux m'expliquer ce que fait exactement le ~3 dans la commande que tu m'as filé
 
car en fait j'aimerais faire un truc générique qui marche qq soit l'extension du fichier  
(le meme batch va etre installé sur plusieurs postes, mais les extensions sont en fait d01, d02, d03, d04 .... -> db1, db2,db3...)


---------------
Funkelly
Reply

Marsh Posté le 18-07-2003 à 10:41:55    

fais set /? pour avoir de l'aide sur les modifications de variables d'environnement.
Pour être plus clair que l'aide de XP, voici comment celà fonctionne :
soit une variable d'environnement toto valant 123456789
%toto:~3,-3% vaut 456 : enlève les 3 premiers et 3 derniers caractères)
%toto:~0,-3% vaut 123456 : enlève les 3 derniers caractères
%toto:~-3% vaut 789 : ne garde que les 3 derniers caractères
 
nota : celà ne modifie pas toto, mais uniquement l'affichage.
 
si tu veux faire un batch choisissant les extensions à modifier, celà donnera :
 
il faut appeler 1.bat ainsi :
1 d01 db1  (ancienne extension, nouvelle extension)
 
1.bat :  
for %%i in (*.%1) do call 2.bat %%i %2
set _toto=  
 
2.bat :  
set _toto=%1  
copy %_toto% ic01%_toto:~3,-3%%2  
 
celà devrait marcher, mais je n'ai pas testé.
 
A+

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed