Quelques questions sur les batch

Résolu/Fermé
damiens1026 Messages postés 563 Date d'inscription jeudi 5 novembre 2009 Statut Membre Dernière intervention 10 avril 2013 - Modifié par damiens1026 le 10/02/2011 à 15:18
damiens1026 Messages postés 563 Date d'inscription jeudi 5 novembre 2009 Statut Membre Dernière intervention 10 avril 2013 - 10 févr. 2011 à 15:18
Bonjour,

Actuellement, je suis en plein codage d'un batch qui crée une arborescence de fichier. Le souci auquel je me heurte est assez simple, je dois "minusculiser" tout les caractères qu'a entré l'utilisateur.

Pour info, voici le code du batch:

@echo off  
set nom=  
set /p nom=Entrez le nom du projet:   
if %nom%=="" goto fin  
md projet-%nom%  
cd projet-%nom%  
md archives   
md db  
md documentation  
md sources  
md www-%nom%  
cd www-%nom%  
md docs  
md pages  
cd pages  
md images  
md includes  
cd ..  
md styles  
cd styles  
md images  
:fin  
echo Fini !  


Encore 3 petites questions:
-Comment en script fait-on des retours à la ligne?

-Comment fait-on pour modifier les couleurs par défaut de "CMD"

-Connaissez-vous un programme pour éditer et coder des batch (.bat) avec éàüè (accents et caractères spéciaux)?


( une petite capture du batch: https://imageshack.com/ )



Meilleures salutations
damiens1026

5 réponses

BeFaX Messages postés 14245 Date d'inscription mercredi 24 décembre 2008 Statut Contributeur Dernière intervention 6 août 2013 3 812
10 févr. 2011 à 14:25
Voici tout d'abord le code pour changer la casse des lettres :

set choice=%choice:A=a%
set choice=%choice:B=b%
set choice=%choice:C=c%
set choice=%choice:D=d%
set choice=%choice:E=e%
set choice=%choice:F=f%
set choice=%choice:G=g%
set choice=%choice:H=h%
set choice=%choice:I=i%
set choice=%choice:J=j%
set choice=%choice:K=k%
set choice=%choice:L=l%
set choice=%choice:M=m%
set choice=%choice:N=n%
set choice=%choice:O=o%
set choice=%choice:P=p%
set choice=%choice:Q=q%
set choice=%choice:R=r%
set choice=%choice:S=s%
set choice=%choice:T=t%
set choice=%choice:U=u%
set choice=%choice:V=v%
set choice=%choice:W=w%
set choice=%choice:X=x%
set choice=%choice:Y=y%
set choice=%choice:Z=z%


Ce code remplace le A par un a, le B par un b, etc ...

Que veux-tu dire par retour à la ligne ?

Voici la commande pour changer la couleur : color 0A
1
damiens1026 Messages postés 563 Date d'inscription jeudi 5 novembre 2009 Statut Membre Dernière intervention 10 avril 2013 32
10 févr. 2011 à 14:27
Tout d'abord, merci pour cette si rapide réponse :)
Par retour à la ligne, j'entends ceci:
bla bla bla
bla 123
[passer à la ligne suivant, comme si c'était sur "Enter" que l'on appuyait]

0
BeFaX Messages postés 14245 Date d'inscription mercredi 24 décembre 2008 Statut Contributeur Dernière intervention 6 août 2013 3 812
10 févr. 2011 à 14:31
Pour exécuter plusieurs commandes sur la même ligne, tu peux utiliser le symbole &


echo Bonjour ! & echo Comment vas-tu ? & pause>nul
0
damiens1026 Messages postés 563 Date d'inscription jeudi 5 novembre 2009 Statut Membre Dernière intervention 10 avril 2013 32
10 févr. 2011 à 14:36
en fait ce que je cherche à faire, c'est des retours à la ligne comme si c'était des \n en C ...
0
damiens1026 Messages postés 563 Date d'inscription jeudi 5 novembre 2009 Statut Membre Dernière intervention 10 avril 2013 32
10 févr. 2011 à 14:42
à propos du "&" => http://imageshack.com/f/jc49744463p
0
BeFaX Messages postés 14245 Date d'inscription mercredi 24 décembre 2008 Statut Contributeur Dernière intervention 6 août 2013 3 812
10 févr. 2011 à 14:42
Je ne vois pas ce que tu veux dire, désolé.
Que veux-tu faire exactement avec ce retour à la ligne ?
0
Groarh Messages postés 682 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 28 juin 2015 185
Modifié par Groarh le 10/02/2011 à 14:43
Salut !

Il n'y a pas de fonction pour manipuler la casse des chaînes en batch, mais plusieurs solution plus ou moins extravagantes ont été proposées. Je te laisse choisir :
https://www.robvanderwoude.com/battech_convertcase.php

Quant à insérer des sauts de ligne, il suffit d'utiliser echo. , par exemple :
echo Hello  
echo.  
echo World!

Pour le reste, je sais pas...
0
BeFaX Messages postés 14245 Date d'inscription mercredi 24 décembre 2008 Statut Contributeur Dernière intervention 6 août 2013 3 812
10 févr. 2011 à 14:44
Le changement de casse n'est plus un problème.
0
damiens1026 Messages postés 563 Date d'inscription jeudi 5 novembre 2009 Statut Membre Dernière intervention 10 avril 2013 32
10 févr. 2011 à 14:45
Encore une chose, sais tu comment faire des commentaires en batch?
0
Groarh Messages postés 682 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 28 juin 2015 185
10 févr. 2011 à 14:48
Un petit REM en début de ligne :P
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
damiens1026 Messages postés 563 Date d'inscription jeudi 5 novembre 2009 Statut Membre Dernière intervention 10 avril 2013 32
10 févr. 2011 à 15:18
MERCI à tous!!!
0