Partage
  • Partager sur Facebook
  • Partager sur Twitter

[BATCH] problème avec variable

problème

Sujet résolu
17 septembre 2017 à 20:28:35

Bonjour,

j'ai un petit problème avec un programme en BATCH que je vous montre tout de suite :

@echo off
:debut
set /p texte=Donner un texte.
if %texte%==a (
start teste1.bat
goto :debut
) else (
echo %texte%>>teste1.bat
goto :debut
)


En fait ce programme a pour but de demander d'écrire un texte qu'il enregistre dans une variable "texte" et si "texte" = a il lance texte1.bat sinon il modifie ce même fichier.

Mon problème est que quand j’écris un texte avec des espaces il ne l'accepte pas.

Merci d'avance de votre aide !

  • Partager sur Facebook
  • Partager sur Twitter
Je n'aime pas l'aubergine !
17 septembre 2017 à 21:10:57

Bonsoir, sujet déplacé dans le forum "Autre langages".
  • Partager sur Facebook
  • Partager sur Twitter
17 septembre 2017 à 22:14:49

Essaye un peu (ha oui pardon, Salut :)) ceci à la ligne 4  :

if %texte% equ "a"

  • Partager sur Facebook
  • Partager sur Twitter

Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

17 septembre 2017 à 22:28:40

vanaur a écrit:

Essaye un peu (ha oui pardon, Salut :)) ceci à la ligne 4  :

if %texte% equ "a"


Salut ! En fait le problème ne vient pas de là. Le "a" fonctionne très bien. Le problème c'est

) else (
echo %texte%>>teste1.bat
goto :debut
)

Il n'accepte pas les espaces, sauf si je met des guillemets :


Donc si je veux faire un programme juste grâce à ce programme, je ne peux pas. Sauf si vous me trouvez une solution.

  • Partager sur Facebook
  • Partager sur Twitter
Je n'aime pas l'aubergine !
17 septembre 2017 à 23:12:51

Hello,

Il manque des guillemets dans ton if et tu as une mauvaise syntaxe pour ton start.

Avec les corrections (testé et approuvé) :

@echo off

:debut
set /p texte="Donner un texte."
if "%texte%"=="a" (
	start "second script" "teste1.bat"
	goto :debut
) else (
	echo %texte%>>"teste1.bat"
	goto :debut
)
exit
pause



-
Edité par Zaibai 17 septembre 2017 à 23:16:49

  • Partager sur Facebook
  • Partager sur Twitter
17 septembre 2017 à 23:13:58

Bhas si ce n'est que ça, tu n'as qu'a mettre les guillemets ici :

if "%texte%"==a
  • Partager sur Facebook
  • Partager sur Twitter

Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

18 septembre 2017 à 14:50:22

salut !

ça ne marche pas comme je veux :

echo "%texte%">>"teste1.bat"

si je fais comme ça, le programme va écrire le texte avec des guillemets dans le fichier .bat et moi je voudrai écrire un fichier .bat (donc un programme) avec justement un autre fichier .bat. Ne me demandez pas l'utilité de ce programme, ça m'amuse donc c'est le principale !

  • Partager sur Facebook
  • Partager sur Twitter
Je n'aime pas l'aubergine !
18 septembre 2017 à 17:41:03

Chez moi ca fonctionne, et sans guillemets.

As tu bien recopier le code de Zaibai ?

  • Partager sur Facebook
  • Partager sur Twitter

Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

18 septembre 2017 à 20:05:56

C'est bon le programme marche ! Merci a vous deux !
  • Partager sur Facebook
  • Partager sur Twitter
Je n'aime pas l'aubergine !