Les Fichiers Batch. SI les déclarations?
j'ai un fichier batch qui doit appliquer la attrib +h commande vers un fichier, puis la sortie vers un fichier txt et contenu de l'affichage sur écran. Cela devrait également être fait si le fichier n'a pas été fourni ou ne peut pas être trouvé. J'ai jusqu'à présent, mais ne peut pas le faire fonctionner:
:TOP
IF EXIST "%1" GOTO COMMAND
) ELSE
(
GOTO ERROR1
:COMMAND
attrib +h %1
SHIFT
GOTO TOP
GOTO END
:ERROR1
IF "%1"=="" GOTO ERROR2
) ELSE
(
GOTO ERROR3
:ERROR2
ECHO.
ECHO No file(s) provided. Please re run the batch file.
GOTO END
:ERROR3
ECHO.
ECHO The file was not found. Please re run the batch file.
GOTO END
:END
C'est mon premier cours d'informatique et de toute aide sera grandement appréciée. Merci.
Pour commencer: Comment l'Interpréteur de Commande analyse des scripts Batch beaucoup de Ressources: ss64, Rob van der Woude, DosTips
Afin de rendre votre code plus lisible, envisager de renommer l'erreur étiquettes. Par exemple, au lieu de ERROR2, dire NOFILE. Pour ERROR3, dire NOTFOUND.
Afin de rendre votre code plus lisible, envisager de renommer l'erreur étiquettes. Par exemple, au lieu de ERROR2, dire NOFILE. Pour ERROR3, dire NOTFOUND.
OriginalL'auteur SmkErrl | 2014-03-11
Vous devez vous connecter pour publier un commentaire.
Il existe quelques problèmes avec ce code. Tout d'abord, les fichiers de commandes nécessitent une syntaxe spécifique avec leur
IF
/ELSE
consolidés.Quelque chose comme cela
fonctionne correctement, tandis que quelque chose comme cela
ne le fait pas. Les parenthèses délimitent le bloc, de sorte que votre
IF
commande sera exécutée tout entre(
et)
si elle est true.Deuxièmement, vous n'avez pas besoin de tout
ELSE
consolidés. Parce que vous êtes à l'aide deGOTO
commandes juste avant votreELSE
commandes, vous ne serez jamais atteindre le secondGOTO
commande si le premierIF
évalue à true.Enfin, avec le code que vous avez actuellement le montrent, les
:TOP
tag que vous avez à faire est inutile.Après tout cela, vous devriez être à gauche avec quelque chose qui ressemble à ceci:
Une astuce pour l'avenir: ne pas dire aux gens que c'est de vos devoirs. Vous aurez probablement obtenir plus d'aide.
OriginalL'auteur Nate Mara
Juste quelques problèmes avec la parenthèse et logique de flux
OriginalL'auteur MC ND
Je ne suis pas familiers avec le Lot, mais il semble comme Si votre déclaration est mal formaté.
OriginalL'auteur Justin