J'essaie d'écrire une partie de mon programme de validation manuelle de document. Il s'agit d'ouvrir tous les documents pdf un par un dans le même dossier. Quand c'est ouvert je voudrais faire écho à peu de possibilités pour l'utilisateur. Ici commence le problème. J'ai environ 180 choix possibles. Je pensais demander la première lettre de choix. Ensuite, il fera écho à tous les choix avec commencé par lettre X et l'utilisateur doit simplement entrer le numéro de ce choix. Ainsi, par exemple, nous avons: 1. Asomething 2. Asomename 3. Asomenametoo 4. bname 5. bname 2 6. bname 3(Windows Batch File) Instruction IF dans FOR LOOP
Je veux utilisateur de choisir la première lettre et imprimer des choix possibles. Lorsque le choix est fait, le programme doit ajouter une chaîne au fichier txt avec le même nom dans le même dossier. J'ai un problème avec l'instruction IF dans la boucle FOR. Je voulais utiliser goto mais je ne peux pas le faire dans la boucle FOR.
Je peux configurer toutes les chaînes pour chaque numéro avant. Par exemple: Lorsque vous choisissez 1, il ajoutera SomeString à txt. Il est important d'utiliser l'option de choix pour éviter toute faute de frappe. Est-ce que quelqu'un connaît un autre moyen de le faire à l'intérieur de la boucle FOR?
CODE:
setlocal enabledelayedexpansion
FOR %%b IN (c:\test\*.txt) DO (
IF "%ERRORLEVEL%"=="0" ECHO Document will open now...
start Acrobat.exe %%b.pdf
ECHO 1. Sample 1
ECHO 2. Sample 2
set /p choice= Please enter number:
call :OPTION
ECHO !choice! >> %%b
PAUSE
taskkill /IM Acrobat.exe >> c:\test\log\temp.txt
)
PAUSE
GOTO MENU
:OPTION
IF !choice!==1 SET /A !choice!==MNV666
IF !choice!==2 SET /A !choice!==MNV777
GOTO:EOF
Copie possible de [vérifier la condition "IF" dans la boucle FOR (batch/cmd)] (http://stackoverflow.com/questions/1163938/check-if-condition-inside-for-loop-batch-cmd) –