Tom's Guide > Forum > Programmation > Besoin d'aide sur un fichier batch paramétré !

Besoin d'aide sur un fichier batch paramétré !

Forum Programmation : Besoin d'aide sur un fichier batch paramétré !

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour à tous,j'ai un batch à programmer mais ce dernier à du mal a marcher.J'apprécierai qu'on puisse m'aider pour corriger les erreurs de mon batch.Je suppose qu'elles sont nombreuses mais ça m'a l'air pourtant correct.Merci d'avance
Voici l'énoncé :

1/ Afficher les paramètres X1,X2,X3,X4,X5,X6 et les valider sinon aller à la fin du batch

2/ Tester l'existence du répertoire X1 et s'il existe afficher son contenu, le supprimer entièrement après validation

3/ Créer l'arborescence suivante dans la racine du disque c:
X1 X5
x6

4/ Afficher tous les fichiers *.X2 de WINNT\SYSTEM32

5/ Demander où on veut les copier (X5,X6,nulle part) et si oui les copier dans le dossier choisi.

6/ Afficher tous les fichiers *.X3 de WINNT\SYSTEM32

7/ Demander où on veut les copier (X5,X6,nulle part) et si oui les copier dans le dossier choisi.

8/ Copier votre fichier dans X1 sous "votrenom.bat"

9/ Afficher les attributs du fichier, demander quel attribut on veut changer, changer l'attribut

10/Recommencer le point 9 tant que l'utilisateur le demande

11/ Afficher l'arborescence de X1 page par page avec les fichiers

12/ Demander si on veut recommencer le batch, si oui recommencer au point 1,sinon afficher votre fichier batch et arrêter le traitement.

[u]Et voici mon batch à l'heure actuelle[/u] :

ECHO OFF
CLS
ECHO Bienvenue dans mon TP
ECHO 1er parametre
ECHO %1
ECHO 2nd parametre
ECHO %2
ECHO 3eme parametre
ECHO %3
ECHO 4eme parametre
ECHO %4
ECHO 5eme parametre
ECHO %5
ECHO 6eme parametre
ECHO %6
CHOICE Vos paramètres sont-ils ceux que vous voulez?
If errorlevel 2 goto fin

IF EXIST %1 GOTO 1
IF NOT EXIST %1 GOTO FIN
PAUSE

MD %1/%5
MD %1/%6

PAUSE
DIR c:/Windows/system32/*.%2

PAUSE
CHOICE /C:CUI Si vous voulez les copier dans %5 tapez C, si vous voulez les copier dans %6 tapez U et si vous ne voulez rien copier tapez I
If errorlevel 3 goto fin
IF errorlevel 2 copy C:\windows\system32\*.%2 %1\%5
If errorlevel 1 copy c:\windows\system32\*.%2 %1\%6
PAUSE

DIR c:/windows/system32/*.%3

CHOICE /C:ROC Si vous voulez les copier dans %5 tapez R,si vous voulez les copier dans %6 tapez O et si vous ne voulez rien copier tapez C
If errorlevel 3 goto fin
IF errorlevel 2 copy C:\windows\system32\*.%2 %1\%5
If errorlevel 1 copy c:\windows\system32\*.%2 %1\%6
PAUSE

COPY TPBatch.Bat c:\%1\toto.bat
PAUSE

GOTO 10

:10
ATTRIB c:\%1\Dubien.bat
CHOICE /C:RASH Si vous voulez changer l'attribut lecture seule,tapez R,si vous voulez changer l'attribut archive,tapez A,si vous voulez
changer l'attribut Système tapez S et si vous voulez changer l'attribut Caché,tapez H.Sinon tapez Q.
If errorlevel 5 goto fin
IF errorlevel 4 attrib +R c:\%1\toto.bat
If errorlevel 3 attrib +A c:\%1\toto.bat
If errorlevel 2 attrib +S c:\%1\toto.bat
If errorlevel 1 attrib +H c:\%1\toto.bat

TREE/F/P %1
PAUSE

Voulez-vous recommencer ce batch?
If errorlevel 2 goto %0
If errorlevel 1 dir %1\TPBatch.bat
GOTO FIN

:1
DIR %1
RD/S %1
PAUSE

:FIN
ECHO Au revoir !
PAUSE



Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Peux-tu préciser un peu plus ton problème ?

ps: choice ne fonctionne pas sur tous les windows :p

Répondre à CRicky

Mon problème est simple : il ne fonctionne pas !
J'aimerais que qqun puisse m'aider à le corriger !

Répondre à Flashpoint88

ya pas de debugger de .batch ??????

Répondre à TrEiZe_85

non pas de debugger :D
Pour savoir d'où vient le problème ajoute des ECHO pour voir d'où vient ton problème.
Je n'aime pas quand en programmation, on me sort du "ça marche pas". Précise d'où vient ton problème, parce que je ne testerai pas le code. Si tu dis où est le problème, normalement, je (ou quelqu'un d'autre) t'indiquera la résolution sans problème.

Répondre à CRicky

Avec Powerbatch tu peux éxécuter pas à pas ton batch ça peut etre pratique : http://www.astase.com/produits/powerbatch/

Sinon ton code est pas top : choice ne marche pas si tu es sous windows NT !

Répondre à maxcailla

C'est vrai que faire un tel programme n'est pas très compliqué en fait.
Merci pour le lien maxcailla, je testerai ça :)

Répondre à CRicky

Mon problème vient dès le départ en fait,je ne cherche pas à faire du "ca marche pas" pour me dédouaner du boulot et faire les autres le travail à ma place,la preuve je l'ai fait,mais j'ai beaucoup de mal avec les paramètres.Normalement si j'affiche les paramètres,il me semble que je dois les entrer.Or, quand je lance le batch bah je rentre rien.

Répondre à Flashpoint88

Tu lances ton batch depuis l'explorateur j'imagine !? Lances-le à partir de l'invite de commandes :
batch.bat 1 2 3 4 5 6 => lances ton batch avec les paramètres %1 à %6 qui valent respectivement les valeurs 1,2,3,4,5 et 6 !!!

Une autre petite chose que j'ai remarqué : remplaces C:\Windows par %systemroot% ça rendra plus "portable" ton batch ! Genre moi j'ai pas C:\Windows mais C:\WinNT donc ca ne passe pas tandis qu'avec %systemroot% c''est bon !!!

Répondre à maxcailla

Je le lance de l'invite de commandes, a partir d'un dossier dans "mes documents".
batch.bat 1 2 3 4 5 6 => lances ton batch avec les paramètres %1 à %6 qui valent respectivement les valeurs 1,2,3,4,5 et 6 !!! Je fais quoi dans le batch? 1er parametre 1%1?ainsi de suite?Je te suis mal :-p

Répondre à Flashpoint88

Ben je sais pas tu mets les paramètres que tu veux !!! j'ai dis 1...6 pour faire un exemple
Si tu mets 1,2,3...6 tes paramètres vaudront 1,2,3...6 !!!
Si tu mets toto,tata,titi... tes paramètres vaudront toto,tata,titi...

Je sais pas si tu l'as fait mais va voir le lien que j'ai mis plus haut pour deux raisons : il te permet de lancer ton batch avec des paramètres et aussi de l'éxecuter en pas à pas tu verras donc quelles lignes merdent !!!

Répondre à maxcailla

Lance par exemple ceci:

Code :
  1. batch.bat "c:\temp\test0" exe dll Vide "c:\temp\test1" "c:\temps\test2"



Comme ça dans ton code:
%0 = batch.bat
%1 = c:\temp\test0
%2 = exe
%3 = dll
%4 = Vide
%5 = c:\temp\test1
%6 = c:\temps\test2

Répondre à CRicky
Tom's Guide > Forum > Programmation > Besoin d'aide sur un fichier batch paramétré !
Aller à :

Il y a 370 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens