Connexion

Récupérer mon mot de passe

Qui est en ligne ?
Il y a en tout 1 utilisateur en ligne :: 0 Enregistré, 0 Invisible et 1 Invité

Aucun

Le record du nombre d'utilisateurs en ligne est de 21 le Jeu 17 Oct 2013, 13:40
Derniers sujets
Flux RSS



Flag Counter
Partenaires

afficher une information sur l'éxecution d'un script en une seule commande

Voir le sujet précédent Voir le sujet suivant Aller en bas

afficher une information sur l'éxecution d'un script en une seule commande

Message par InitScreen le Ven 18 Oct 2013, 18:52

Il peut être pratique d'affiché un message sur l'exécution d'un script sans avoir à tenir compte de la langue dans la quelle ce message seras affiché. La commande "net helpmsg XXX" permet de le faire, XXX étant le numéro de message voulu (entre 0 et 9999). Comme un petit script vaut toujours mieux qu'un long discourt, voilà de quoi créer une liste de ces différents message qu'il est possible d'obtenir.

Code:
@echo off

:: Juillard Jean-Baptiste © 2013 All Right Reserve.
:: Charset: CP-850

setlocal enabledelayedexpansion

set /a "OutpuCode=0"
set "BatchMode=0"
set "QuietMode=0"
set "QuitProcess=0"
set "OutputFilePath=%cd%\Cmd Help Files\NetHelpMsgList.txt"
set "EmptyPercentBar=░"
set "FullyPercentBar=▓"
:Params
if "%1"=="" goto Init
if /i "%1"=="/of" (
 if not "%~2"=="" set "OutputFilePath=%~2" else goto BadSyntax
 shift /1
 shift /1
 goto Params
)
if /i "%1"=="/passive" (
 set "BatchMode=1"
 shift /1
 goto Params
)
if /i "%1"=="/quiet" (
 set "BatchMode=1"
 set "QuietMode=1"
 shift /1
 goto Params
)
if /i "%1"=="/quitp" (
 set "QuitProcess=1"
 shift /1
 goto Params
)
if /i "%1"=="/?" goto Help
if /i "%1"=="-?" goto Help
if /i "%1"=="/h" goto Help
if /i "%1"=="-h" goto Help
if /i "%1"=="/help" goto Help
if /i "%1"=="-help" goto Help
:BadSyntax
set /a "OutputCode=1"
goto End

:Init
if "%BatchMode%"=="0" if "%QuitProcess%"=="1" title Net HelpMsg List Creator
if exist "%OutputFilePath%" (
 if "%BatchMode%"=="0" (
 net helpmsg 183
 echo "%OutputFilePath%"
 echo.
 echo   S. Supprimer ce fichier
 echo   R. Renomer le nouveau fichier
 echo   A. Annuler l'opération
 echo.
 choice /c sra /m "Votre choix "
 set "UserChoice=!errorLevel!"
 if /i "!UserChoice!"=="1" (
 del /q "%OutputFilePath%"
 ) else if /i "!UserChoice!"=="2" (
 set "OutputFilePath=!OutputFilePath:~0,-4! %date:~0,2%-%date:~3,2%-%date:~6,4% %time:~0,2%h%time:~3,2%m%time:~6,2%s.txt"
 ) else if /i "!UserChoice!"=="3" (
 set /a "OutputCode=5"
 goto End
 ) else if /i "!UserChoice!"=="255" (
 set /a "OutputCode=2"
 goto End
 ) else if /i "!UserChoice!"=="0" (
 set /a "OutputCode=3"
 goto End
 ) else (
 set /a "OutputCode=4"
 goto End
 )
 ) else (
 set "OutputFilePath=!OutputFilePath:~0,-4! %date:~0,2%-%date:~3,2%-%date:~6,4% %time:~0,2%h%time:~3,2%m%time:~6,2%s.txt"
 )
)

:ExecLoop
set "VarTest=0"
for /l %%A in (0 1 9999) do call :PrintMsg %%A
goto End
:PrintMsg
set /a "Number=%1"
if %Number% LSS 10 set "OutputString=   %1"
if %Number% LSS 100 if %Number% GEQ 10 set "OutputString=  %1"
if %Number% LSS 1000 if %Number% GEQ 100 set "OutputString= %1"
if %Number% GEQ 1000 set "OutputString=%1"
set PercentString=
set PercentRatio=
if %Number% GEQ 100 (
 set /a "PercentString=%Number% / 100"
) else (
 set "PercentString=00"
)
if "%PercentString:~1,1%"=="" set "PercentString=0%PercentString%"
set "PercentString=%PercentString%"
if %Number% GEQ 250 (
 set /a "PercentRatio=%Number% / 250"
) else (
 set /a "PercentRatio=0"
)
set PercentBar=
for /l %%B in (0 1 39) do (
 if %PercentRatio% GEQ %%B (
 set "PercentBar=!PercentBar!%FullyPercentBar%"
 ) else (
 set "PercentBar=!PercentBar!%EmptyPercentBar%"
 )
)
2>>1>>"%OutputFilePath%" echo Net HelpMsg %OutputString%
2>>1>>"%OutputFilePath%" echo ================
2>>1>>"%OutputFilePath%" net helpmsg %1
2>>1>>"%OutputFilePath%" echo.
if "%BatchMode%"=="0" (
 if not "%PercentString%"=="!OldPercentString!" (
 call :PrintCon
 ) else if not "!OldPercentRatio!"=="%PercentRatio%" (
 call :PrintCon
 )
) else (
 if "%VarTest%"=="0" (
 if "%QuietMode%"=="0" (
 echo.
 echo Net HelpMsg List Creator.
 echo Juillard Jean-Baptiste © All Right Reserve.
 echo.
 echo Création de la liste en cours...
 )
 set "VarTest=1"
 )
)
goto :eof
:PrintCon
set "OldPercentString=%PercentString%"
set "OldPercentRatio=%PercentRatio%"
cls
echo.
echo  ╔══════════════════════════════════════════════╗
echo  ║                                              ║
echo  ║  Net HelpMsg List Creator.                   ║
echo  ║  Juillard Jean-Baptiste © All Right Reserve. ║
echo  ║                                              ║
echo  ╠══════════════════════════════════════════════╣
echo  ║                                              ║
echo  ║ Création de la liste des messages de la      ║
echo  ║ commande "Net HelpMsg". L'opération prend    ║
echo  ║ quelques minutes, merci de patienter...      ║
echo  ║                                              ║
echo  ╠══════════════════════════════════════════════╣
echo  ║  Progression...                        !PercentString! %%  ║
echo  ║  ╔════════════════════════════════════════╗  ║
echo  ║  ║!PercentBar!║  ║
echo  ║  ╚════════════════════════════════════════╝  ║
echo  ╚══════════════════════════════════════════════╝
goto :eof

:Help
echo.
echo Créer une liste des messages de la commande Net HelpMsg.
echo.
echo %0 [/of ^<path^>] [/passive^|/quiet] [/quitp]
echo.
echo     /of         Chemin d'accès du fichier de sortie.
echo     /passive    Mode d'affichage réduit et aucune interaction
echo                 avec l'utilisateur.
echo     /quiet      Aucun affichage et aucune interaction avec
echo                 l'utilisateur.
echo     /quitp      Quitte le processus en cour au lieu du
echo                 script, doit être utiliser lors d'un appel
echo                 du script avec la commande start.
echo.
echo     Exmples:
echo     ========
echo.
echo         %0 /passive /of "%%CD%%\List.txt"
echo         start /wait %0 /quitp
echo.
exit /b !OutputCode!

:End
if "%BatchMode%"=="0" (
 cls
 echo.
 echo  ╔══════════════════════════════════════════════╗
 echo  ║                                              ║
 echo  ║  Net HelpMsg List Creator.                   ║
 echo  ║  Juillard Jean-Baptiste © All Right Reserve. ║
 echo  ║                                              ║
 echo  ╠══════════════════════════════════════════════╣
 echo  ║                                              ║
 if !OutputCode! EQU 0 echo  ║ Création de la liste terminer sans erreur.   ║
 if !OutputCode! EQU 1 echo  ║ Paramètres de commande incorrects.           ║
 if !OutputCode! EQU 2 echo  ║ Erreur inconnu lors de la saisie utilisateur.║
 if !OutputCode! EQU 3 echo  ║ L'utilisateur à mis fin au script.           ║
 if !OutputCode! EQU 4 echo  ║ Erreur inconnu lors de la saisie utilisateur.║
 if !OutputCode! EQU 5 echo  ║ L'utilisateur à annuler l'opération.         ║
 echo  ║                                              ║
 echo  ╚══════════════════════════════════════════════╝
) else (
 if "%QuietMode%"=="0" (
 echo.
 echo Création de la liste terminer.
 )
)
if "%QuitProcess%"=="1" exit !OutputCode!
exit /b !OutputCode!


InitScreen
EQUIPE BBAT
EQUIPE BBAT

Mensagens : 44
Data de inscrição : 17/10/2013

Revenir en haut Aller en bas

Re: afficher une information sur l'éxecution d'un script en une seule commande

Message par InitScreen le Ven 18 Oct 2013, 18:56

Pour afficher l'aide sur la syntaxe du script, entrer le nom que vous donnerai au script suivit de /?.

_________________
[Vous devez être inscrit et connecté pour voir cette image] Le gourou dicte la ligne de commande à suivre...

InitScreen
EQUIPE BBAT
EQUIPE BBAT

Mensagens : 44
Data de inscrição : 17/10/2013

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum