Commandes "DOS" incompréhensibles - Win NT/2K/XP - Windows & Software
Marsh Posté le 13-03-2012 à 15:04:10
Pour aider à la compréhension le typage code m'a enlevé tous les '\'.
Au lieu de
dir E: | grep 14 > C:dire.txt
FOR /F "tokens=4 delims= " %i IN (c:dire.txt) DO SET DOSSIER=%i
je souhaiterait faire :
FOR /F "usebackq tokens=4 delims= " %i IN (`dir e: | grep 14`) DO SET DOSSIER=%i
seulement, il n'apprécie pas le pipe dans la commande, "| était inattendu".
Comment faire ?
Marsh Posté le 13-03-2012 à 15:19:08
J'avance petit à petit.
J'arrive maintenant à ce script :
REM @echo off
C:
CD "C:Program FilesMandrivaOpenSSHbin"
NET USE Q: \serveurScan >NUL 2>&1
FOR /F "usebackq tokens=4 delims= " %i IN (`dir e: ^| grep 14`) DO SET DOSSIER=%i
REM SET DOSSIER
echo %DOSSIER%
Q:
IF NOT EXIST Q:%DOSSIER% MKDIR Q:%DOSSIER%
Dont voici le résultat :
C:Program FilesMandrivaOpenSSHbin>scan.bat
C:Program FilesMandrivaOpenSSHbin>REM @echo off
C:Program FilesMandrivaOpenSSHbin>C:
C:Program FilesMandrivaOpenSSHbin>CD "C:Program FilesMandrivaOpenSSHbin"
C:Program FilesMandrivaOpenSSHbin>NET USE Q: \ServeurScan 1>NUL 2>&1
| était inattendu.
C:Program FilesMandrivaOpenSSHbin>FOR /F "usebackq tokens=4 delims= " ^| grep 14`) DO SET DOSSIER=i
C:Program FilesMandrivaOpenSSHbin>
Marsh Posté le 13-03-2012 à 15:28:52
si c’est exécuté dans une fichier batch, il te faut :
Citation : FOR /F "tokens=4 delims= " %%i IN (c:\dire.txt) DO SET DOSSIER=%%i |
il me semble
Marsh Posté le 13-03-2012 à 16:07:24
Je viens seulement de comprendre que l'erreur fait référence à la commande de dessous et non pas de dessus. Qu'est ce que c'est que cette hérésie encore
Cela explique bien des choses...
Effectivement en doublant le %, ca passe mieux.
Merci beaucoup pour le coup de main, j'étais en train de m'arracher les cheveux, même si j’avançais doucement.
Et puis j'adore ta photo
Marsh Posté le 13-03-2012 à 16:29:21
cypress124 a écrit : Je viens seulement de comprendre que l'erreur fait référence à la commande de dessous et non pas de dessus. Qu'est ce que c'est que cette hérésie encore Effectivement en doublant le %, ca passe mieux. |
J'ai peut de mérite, voila 2 jours que je m'arrache les cheveux aussi aussi avec une Command DOS qui utilise FOR
cela dit, attention avec la déclaration de variable dans une boucle FOR.
beaucoup ont essayé, ils ont eu des problèmes.
Marsh Posté le 13-03-2012 à 16:36:44
Reply
Marsh Posté le 13-03-2012 à 14:49:33
Bonjour,
je viens vous solliciter parce que je suis face à un problème incompréhensible avec Windows XP
Je suis en train de réaliser un script, qui ligne à ligne sous cmd fonctionne.
Cependant lorsque je le lance, les commandes envoyées au DOS, ne sont pas celles qui figuent dans le fichier.
Ca n'est pas un problème d'encodage de fichier. Jugez vous même :
voici mon script :
Voici mon retour lorsque je lance ce fichier depuis cmd.exe :
Sur cette dernière commande on voit clairement qu'il manque des caractères.
Alors pour m'oter d'un doute :
Non la syntaxe est correcte.
Je pige pas ...