Aide pour un programme bat

Aide pour un programme bat - Shell/Batch - Programmation

Marsh Posté le 10-04-2007 à 16:36:02    

Bonjour a tous,
 
Voila je viens de programmer un petit fichier bat qui permet de deplacer des fichiers selon la procedure suivant : toto.bat filename directoryname dont je vous fais part :
 
@echo off
cls title : Deplacement de fichiers
color 0c
 
 
if exist %1>nul goto suite
REM Si il existe le fichier %1 aller a suite
echo le fichier ou le chemin specifie n'existe pas
echo.
echo Veuillez recommencer
pause>nul
goto fin
REM Aller directement a la fin du programme
:suite
echo Pour copier le fichier appuyer sur une touche
pause>nul
xcopy /-y %1 %2
echo.
echo Copie realisee - Appuyer sur une touche
pause>nul
echo.
echo Suppression du fichier d'origine, appuyer sur touche
pause>nul
echo.
del %1
echo.
echo Verification de la bonne suppression du fichier d'origine - Appuyer sur une touche
pause>nul
echo.
if not exist %1 (echo La commande a bien ete realise) else (echo La suppression du fichier d'origine a echoue)
pause>nul
echo.
echo Bonne journee
pause>nul
:fin
exit
 
Mais voila, maintenant on me demande de vérifier la presence obligatoire des deux paramètres de depart et la... je sèche car j'ai beau essayer grace a if cela ne marche pas.
 
Si vous pouviez me donner un conseil, une idée de la marche a suivre, ce serait super
 
Merci d'avance
 
Amitiés

Reply

Marsh Posté le 10-04-2007 à 16:36:02   

Reply

Marsh Posté le 10-04-2007 à 16:55:55    

1/ j'aime pas ta façon de gérer les erreurs. habituellement, on le colle en fin de programme, juste avant le label ":fin", c'est plus facile à maintenir et plus lisible
2/ pourquoi le pas utiliser la fonction shell "move" ?

Reply

Marsh Posté le 10-04-2007 à 17:44:36    

Sinon pour vérifier la présence du n-ième paramètre (n=1-9) :
if "%~n"=="" ....

Reply

Marsh Posté le 11-04-2007 à 07:52:21    

Merci beaucoup à tous
 
je prend note de vos conseils.
 
Pour répondre à MagicBuzz, il est vrai que la fonction move serait bien plus simple mais on m'a demandé expressement de ne pas l'utiliser.
 
Je vous remercie tous encore une fois
 
Amitiés

Reply

Sujets relatifs:

Leave a Replay

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