Enlever ":" dans "C:"

Enlever ":" dans "C:" - Shell/Batch - Programmation

Marsh Posté le 26-02-2006 à 03:32:52    

Bonjour,
 
Je veux sous XP proposer une défragmentation avec DIRMS dans le menu contextuel quand on clique sur une partition.
 
DIRMS est un logiciel en ligne de commande dont la syntaxe est la suivante :
 
dirms c
 
pour défragmenter le lecteur C:
On notera bien l'absence des deux points ":" après la lettre du lecteur.
 
Or pour mener à bien mon projet, je dois placer dans la base de registre une valeur chaine de caractère du genre :
 
"DIRMS.EXE %1"
 
Mais le probleme est que %1 est alors remplacé par "C:" et non "C" comme l'exige la syntaxe de DIRMS
 
Comment peut-on oter les ":" ?
 
 
Merci de vos réponses

Reply

Marsh Posté le 26-02-2006 à 03:32:52   

Reply

Marsh Posté le 26-02-2006 à 06:40:23    

Tu peux appeler le programme depuis un batch :
 
mon_batch.bat %1
 
et dans ton batch, tu enlèves le point par la commande set.
 
set /?
pour plus d'info sur l'extraction d'une chaîne de caractères.

Reply

Marsh Posté le 27-02-2006 à 15:48:07    

Merci pour ta réponse nglechau, mais je trouve la documentation de Set un peu obscure.
 
J'ai trouvé une solution, faire le batch suivant :
 
@dirms.exe %CD:~0,1% -q
 
 
voilà, %CD% renvoyant c:\ on demande avec %CD:~0,1% de garder juste le premier caractère.

Reply

Marsh Posté le 27-02-2006 à 16:13:28    

Dans ce cas, rassure-toi d'être sur la bonne partition avant d'appeler la commande.
 
Perso je trouve l'aide de set très claire et pleine d'exemples faciles à comprendre ;)


Message édité par wackevat le 27-02-2006 à 16:14:30
Reply

Marsh Posté le 01-03-2006 à 04:57:01    

ça y est, j'ai compris la commande SET !
Il m'aura tout de même fallu 2 jours.

Reply

Sujets relatifs:

Leave a Replay

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