supprimer chaine de caractere dans un nom de fichier

supprimer chaine de caractere dans un nom de fichier - Shell/Batch - Programmation

Marsh Posté le 06-10-2006 à 14:03:49    

Bonjour,
j'ai programmé un petit fichier sous DOS / windows XP
 
je bloque sur une commande qui supprime une chaine de caractere donnée dans le nom d'un fichier
 
En effet, lorsque la chaine de caractere est donnée en dur, cela marche tres bien :
set fichier="C:\répertoire\sous-répertoire\fichier"
set fichier = %fichier:C:\répertoire\=% rem la chaine "C:\repertoire\" est remplacée par ""
rem la variable fichier est alors :"sous-répertoire\fichier" -> ok
 
Le probleme vient quand la chaine de caractere est elle aussi une variable
set fichier="C:\répertoire\sous-répertoire\fichier"
set str="C:\répertoire\"
set fichier = %fichier:%str%=%
-> cela ne marche plus, car l'interpreteur conclut que le deuxieme "%" dans la derniere ligne est la pour fermer le premier "%". J'ai essayé les parenthèses pour (%str%) mais sans succès
 
j'attends vos idée merci beaucoup !!
 

Reply

Marsh Posté le 06-10-2006 à 14:03:49   

Reply

Marsh Posté le 06-10-2006 à 15:55:20    

Bonjour,
 
Le seul moyen si tu veux passer par le batch, est que depuis le premier batch où la chaîne est une variable, de générer un second batch dans lequel cette chaîne devient "codée dur).

Reply

Marsh Posté le 09-10-2006 à 11:38:41    

merci, on atteint donc les limites du batch lol
bonne continuation à toi nglechau !

Reply

Sujets relatifs:

Leave a Replay

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