Pb lancement d'un batch [RESOLU ET A DEL /f /q]

Pb lancement d'un batch [RESOLU ET A DEL /f /q] - Shell/Batch - Programmation

Marsh Posté le 01-03-2011 à 01:08:36    

Bonjour j'ai un gros problème et je sollicite vorte aide car je tourne en rond sur Google, alors je n'arrive pas lançé des batch qui utilise des grosses commandes "if", la fenêtre se ferme, impossible de mettre pause sous la ligne pour voir ce qui est écrit, s'il ya quelque chose d'écrit !!
 
Bon exemple de code est-ce qu'il marche chez vous ? C'est peut-etre un mauvais exemple car je ne sais pas s'il marche vraiment !!
 

Code :
  1. @ECHO OFF
  2. IF NOT "%OS%"=="Windows_NT" GOTO Syntax
  3. FOR /F "tokens=*" %%A IN ('VER') DO SET WinVer=%%A
  4. FOR %%A IN (%WinVer%) DO SET WinVer=%%A
  5. SET WinVer=%WinVer:]=%
  6. SETLOCAL ENABLEDELAYEDEXPANSION
  7. :: List of VER output strings found at http://en.wikipedia.org/wiki/Ver_(command)
  8. SET 4.=Windows NT 4
  9. SET 5.00.=Windows 2000
  10. SET 5.1.=Windows XP
  11. SET 5.2.=Windows Server 2003
  12. SET 6.0.6001=Windows Vista
  13. SET 6.0.6002=Windows Server 2008
  14. SET 6.1.=Windows 7 or Windows Server 2008 R2
  15. FOR /L %%A IN (4,1,6) DO (
  16. FOR /F "tokens=1,2 delims==" %%B IN ('SET %%A.') DO (
  17.  IF %WinVer% GEQ %%B (
  18.   SET WinVerTxt=%%C
  19.  )
  20. )
  21. )
  22. SET Match=0
  23. IF NOT "%~1"=="" (
  24. SET Threshold=
  25. FOR %%A IN (NT NT4 "NT 4" 2000 2K W2K XP 2003 2K3 W2K3 Vista 2008 2K8 W2K8 7 2008R2 "2008 R2" 2K8R2 "2K8 R2" W2K8R2 "W2K8 R2" ) DO (
  26.  IF /I "%~1"=="%%~A" (
  27.   SET Threshold=%~1
  28.  )
  29. )
  30. IF "!Threshold!"=="" (
  31.  ENDLOCAL
  32.  GOTO Syntax
  33. )
  34. FOR %%A IN (NT NT4 "NT 4" ) DO (
  35.  IF /I "!Threshold!"=="%%~A" (
  36.   SET Threshold=4.
  37.  )
  38. )
  39. FOR %%A IN (2000 2K W2K) DO (
  40.  IF /I "!Threshold!"=="%%~A" (
  41.   SET Threshold=5.00.
  42.  )
  43. )
  44. IF /I "!Threshold!"=="XP" (
  45.  SET Threshold=5.1.
  46. )
  47. FOR %%A IN (2003 2K3 W2K3) DO (
  48.  IF /I "!Threshold!"=="%%~A" (
  49.   SET Threshold=5.2.
  50.  )
  51. )
  52. IF /I "!Threshold!"=="Vista" (
  53.  SET Threshold=6.0.6001
  54. )
  55. FOR %%A IN (2008 2K8 W2K8) DO (
  56.  IF /I "!Threshold!"=="%%~A" (
  57.   SET Threshold=6.0.6002
  58.  )
  59. )
  60. FOR %%A IN (7 2008R2 "2008 R2" 2K8R2 "2K8 R2" W2K8R2 "W2K8 R2" ) DO (
  61.  IF /I "!Threshold!"=="%%~A" (
  62.   SET Threshold=6.1.
  63.  )
  64. )
  65. IF %WinVer% LSS !Threshold! SET Match=1
  66. )
  67. ENDLOCAL & SET WinVerTxt=%WinVerTxt%& EXIT /B %Match%
  68. :Syntax
  69. ECHO WinVer2.bat,  Version 1.00 for Windows NT 4 and later
  70. ECHO Set the Windows version in 2 environment variables WinVer and WinVertxt,
  71. ECHO and optionally check if it meets the specified minumum required version.
  72. ECHO.
  73. ECHO Usage:   WINVER2  [minver]
  74. ECHO.
  75. ECHO Where:   minver   specifies the minimum required Windows version:
  76. ECHO                   "NT", "NT4", or "NT 4" for Windows NT 4;
  77. ECHO                   "2000", "2K" or "W2K" for Windows 2000;
  78. ECHO                   "XP" for Windows XP; "Vista" for Windows Vista;
  79. ECHO                   "2003", "2K3" or "W2K3" for Windows Server 2003;
  80. ECHO                   "2008", "2K8" or "W2K8" for Windows Server 2008;
  81. ECHO                   "7" for Windows 7;
  82. ECHO                   "2008R2", "2008 R2", "2K8R2", "2K8 R2", "W2K8R2"
  83. ECHO                   or "W2K8 R2" for Windows Server 2008 R2
  84. ECHO.
  85. ECHO Returns: Environment variables WinVer containing the major.minor.build,
  86. ECHO          and WinVerTxt containing the description (e.g. "Windows XP" ).
  87. ECHO          Return code (errorlevel) 1 if the Windows version does not
  88. ECHO          meet the specified minimum required.
  89. ECHO.
  90. ECHO Written by Rob van der Woude
  91. ECHO http://www.robvanderwoude.com
  92. IF "%OS%"=="Windows_NT" COLOR 00


 
Donc voila, j'execute la fenêtre se ferme. Y'a t'il quelque chose qui cloche avec mes "if"  ou quelque chose à savoir, parceque sur le programme que je dévelloppe, ça m'est arrivée aussi... pourtant les commandes sont correctes puisqu'elle viennent de forum, je les adaptes à mon batch, met des guillemet,... rien à faire...
Sinon ma commande: elle sert à récupérer la 5ème ligne d'un fichier texte;
 

Code :
  1. set configencrypt="%ProgramFiles(x86)%\Programme\UserInfo.txt"
  2. set ligne=5
  3. find /v /n "" %configencrypt%|find "[%ligne%]">^^&set/pbot=<^^&del ^^
  4. set bot=%bot:*]=%
  5. echo %bot%


Le batch se ferme en arrivant par la...pourtant sa a marché (pendant quelques temps) dans un autre batch  
D'ailleurs aussi je veux savoir que quand je stock une variable dans un fichier texte il ya un espace en fin de ligne, et une ligne N°6 ??? (variable exporté à la 5ème et dernière ligne)
 
Je suis sous windows 7 x64. Merci à ceux qui ont prit le temps de lire !!


Message édité par benjahwest le 15-03-2011 à 02:54:27
Reply

Marsh Posté le 01-03-2011 à 01:08:36   

Reply

Marsh Posté le 15-03-2011 à 02:52:18    

Bon pour le premier script, il suffisait d'avoir le programme associé...  :pfff:  
 
Et pour la suite, aie aie aie, si un jour vous décidez de créer un gros programme en batch, vous avez passez du temps sur votre ordinateur... Il est donc rester allumer longtemps, ce qui ne plait pas toujours à windows peut être, enfin bon:
Un jour, je démarre windows 7, il me dit qu'il ne peut pas démarrer, il faut faire une réstauration du système en mode sans echec... Confiant, je l'ai fait  :fou: , mais étant trop pressé de retourner à mon programme  :bounce: , je n'ai pas vu le message qui disait que la réstauration serait irréverssible.
J'ai donc perdu toutes mes versions parceque comme un teubé mon dossier était sur le bureau, la réstau. a même effacée mes logiciel tiers de cryptage que j'ai tant galérer à trouver... Récuva n'a rien pu faire d'ailleurs !!
 
Du coup j'ai abandonné ce projet... et j'en suis passé à un autre !!!
Voila.  :(  

Reply

Sujets relatifs:

Leave a Replay

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