Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @echo off
- :: par Hugo7, membre de batch.xoo.it
- :: NE PAS COPIER OU REDISTRIBUER
- if "%1"=="var-ok" goto var-ok
- cd Syst
- vars.cmd
- ::si erreur,
- EXIT
- :var-ok
- title Interpreteur de Commandes par Hugo %HVERSION%
- cd %d%
- if not exist params\parametres.inf call :makeinf
- call :param
- :: Ceci sert à traiter les paramètres - et ia aussi
- :: Empêcher l'utilisateur de fermer la fenêtre afin d'éviter d'avoir des rapports d'erreurs sans erreur :)
- if %GMODE%==false Syst\PClosure.exe &rem By Skywalker ;)
- ::Gestion des rapports d'erreurs, warn en cas d'existance de rapports, rmdir du dossier si vide
- if exist Rapports_d'erreurs/nps.log call :existcrash
- ::Récupération des plugins
- for /f %%P in ('dir /b *.cmd *.bat *.vbs *.exe *.hta') do (
- >nul (echo %%P>>plugins.tmp)
- )
- for /f "tokens=1,2,3,4,5,6,7,8,9,10" %%Q in ('type plugins.tmp') do (
- set n=%%Q %%R %%S %%T %%U %%V %%W %%X %%Y %%Z
- )
- del plugins.tmp
- if exist crash.log goto delcrash
- if exist session.lock goto sl
- if not exist params md Params
- del/q C:\temp\hCmd\ndir.*
- del/q C:\temp\hCmd\*.vbs
- del/q temphc.bat
- echo msgbox "Le nom ou le chemin d'accès est introuvable.", + vbCritical , "hCmd" >> C:\temp\hCmd\ec.vbs
- echo msgbox "Ce plugin n'existe pas dans le dossier où se situe le .bat .", + vbCritical , "hCmd" >> C:\temp\hCmd\erpl.vbs
- echo msgbox "Veuillez installer Batbox. Commande: 'bb'" , +vbCritical , "hCmd" >> C:\temp\hCmd\ebbx.vbs
- echo msgbox "Une erreur est survenue. Merci de transmettre le rapport qui suit à Hugo.", +vbCritical, "hCmd">> C:\temp\hCmd\ersl.vbs
- if exist C:\temp\hCmd\ndir.txt ren C:\temp\hCmd\ndir.txt ndir.vbs
- if exist temphc.bat (
- if %IA%==1 IA_%lang%\rl.vbs & del/q temphc.bat
- )
- if /i not %ModeDieu%==non %do1%%lbl%
- if /i not %UHD2%==%username%%PROCESSOR_LEVEL% %do1%%lbl%
- set c=INDEF
- set cou=INDEF
- set l=debut
- del session.lock
- if /i %GMODE%==false echo erlv[%ERRORLEVEL%]dir[%D%]chx[%c%]d[%date%]version[%CMDEXTVERSION%]hversion[%hversion%]pl[%n%]cmddir[%CMDCMDLINE%]avt.de[%l% >session.lock
- if not %~z0==30373 (
- set chk=Cette version d'hCmd a ‚t‚ modifi‚e ou vous d‚tenez une version ill‚gale du logiciel.
- set hversion=ERREUR.%hversion%.modif
- ) else set chk=Version valid‚e, merci.
- cd /d %D%
- cls
- color 0e
- cls
- echo ==========================
- echo = hCmd avec CMD.exe =
- echo = par Hugo Minilogiciels =
- echo ==========================
- if %IA%==1 IA_%lang%\bienvenue.vbs
- if %IA%==0 ping pc -n 1 >nul
- del session.lock
- set l=accueil
- if /i %GMODE%==false echo erlv[%ERRORLEVEL%]dir[%D%]chx[%c%]d[%date%]version[%CMDEXTVERSION%]hversion[%hversion%]pl[%n%]cmddir[%CMDCMDLINE%]avt.de[%l% >session.lock
- cls
- :ok2
- cls
- color 07
- :: (truc supprimé)
- cls
- :pa
- cls
- :: (truc supprimé)
- cls
- :: (truc supprimé)
- cls
- color %COLOR%
- :ok0
- :: (truc supprimé)
- :ok
- :: (Devinez...)
- :pub
- :: L'tilisateur a une (mal)chance sur 10 de tomber sur une pub.
- if %RANDOM:~2,1%==7 start /wait Syst\pub.hta
- :okcmd
- cls
- set c=INDEF
- cls
- echo Bienvenue %username%! Entrez une commande.
- echo Entrez '?' pour une liste de commandes. Pour fermer tapez stop.
- echo Ne pas fermer autrement qu'avec "/stop".
- if %IA%==1 echo Il y a du son. Tapez '/config' pour modifier vos pr‚f‚rences.
- if %IA%==0 echo Il n'y a pas de son. Tapez '/config' pour modifier vos pr‚f‚rences.
- echo.
- echo %chk%
- echo.
- if %IA%==1 start IA_%lang%\cmd.vbs
- set /p c=/
- del session.lock
- set l=cmd1
- if /i %GMODE%==false echo erlv[%ERRORLEVEL%]dir[%D%]chx[%c%]d[%date%]version[%CMDEXTVERSION%]hversion[%hversion%]pl[%n%]cmddir[%CMDCMDLINE%]avt.de[%l% >session.lock
- if "%c%"=="INDEF" goto ok
- cls
- echo Bienvenue %username%! Entrez une commande.
- echo Entrez '?' pour une liste de commandes. Pour fermer tapez stop.
- echo Ne pas fermer autrement qu'avec "/stop".
- if %IA%==1 echo Il y a du son. Tapez '/config' pour modifier vos pr‚f‚rences.
- if %IA%==0 echo Il n'y a pas de son. Tapez '/config' pour modifier vos pr‚f‚rences.
- echo.
- echo %chk%
- echo.
- echo /%c%
- del session.lock
- set l=redirection
- if /i %GMODE%==false echo erlv[%ERRORLEVEL%]dir[%D%]chx[%c%]d[%date%]version[%CMDEXTVERSION%]hversion[%hversion%]pl[%n%]cmddir[%CMDCMDLINE%]avt.de[%l% >session.lock
- ping pc /n 2 >nul
- :: REDIRECTION ::
- for /f "tokens=1,2 delims=/" %%D in ("%c%") do (
- set bb1=%%D & set bb2=%%E
- )
- title Interpreteur de Commandes par Hugo %HVERSION% - %c%
- if /i "%c%"==ml0 (
- set mlog=0
- goto ok
- )
- if /I "%c%"=="" goto ok else goto plu
- :1
- if /I "%c%"=="?" ( start %HELPDIR% & goto ok )
- :2
- if /I "%c%"=="cc" goto col else goto 3
- :3
- REM if /I "%c%"=="r" goto r else goto 4 <<<<------- Commande retirée
- :4
- if /I "%c%"=="stop" goto st else goto 5
- :5
- if /I "%c%"=="cmd" goto cmd else goto 6
- :6
- REM if /I "%c%"=="rep" goto pa else goto 7 <<<<------- Commande retirée
- :7
- if /I "%c%"=="dirg" goto dirg else goto 8
- :8
- if /I "%c%"=="frdos" goto frdos else goto 9
- :9
- if /I "%c%"=="bb" goto batbox else goto 10
- :10
- if /I "%c%"=="!" goto surprise else goto 11
- :11
- if /I "%c%"=="ping" goto %c% else goto 12
- :12
- if /I "%c%"=="clear" goto %c%TEMP else goto 13
- :13
- if /I "%c%"=="purger" goto deltemp else goto 14
- :14
- if /I "%c%"=="calc" goto calculette else goto 15
- :15
- if /I "%c%"=="heure" goto hr else goto 16
- :16
- if /I "%c%"=="rl" goto rl-s else goto 17
- :17
- if /I "%c%"=="floup" goto flp else goto 18
- :18
- if /I "%c%"=="mots" goto mots else goto 19
- :19
- if /I "%c%"=="fic" goto ficedit else goto 20
- :20
- if /I "%c%"=="reload" goto rl-s else goto 21
- :21
- if /I "%c%"=="config" goto cmd-config else goto 22
- :22
- if /I "%c%"=="reset" goto reset-hCmd else goto 23
- :23
- if /I "%c%"=="msg" goto MSG
- ::aff heure
- if "%c%"==heure2 ( for /f "tokens=1,2 delims=," %%t in ("%time%") do ( cls & echo. & echo Date: %date% - heure: %%t & pause & goto ok ) )
- :plu
- :: plugins ::
- if not "%ACTIVEPLUGINS%"=="true" goto e
- set l=plugins-ou-+1x-cmd
- if /i %GMODE%==false echo erlv[%ERRORLEVEL%]dir[%D%]chx[%c%]d[%date%]version[%CMDEXTVERSION%]hversion[%hversion%]pl[%n%]cmddir[%CMDCMDLINE%]avt.de[%l% >session.lock
- del session.lock
- for /f "tokens=1,* delims= " %%A in ('echo %c%') do (
- if exist %%A.exe %%A.exe %%B
- if exist %%A.bat %%A.bat %%B
- if exist %%A.com %%A.com %%B
- if exist %%A.vbs %%A.vbs %%B
- if exist %%A.hta (
- start %%A.hta
- exit
- )
- )
- cls
- :e
- color 0c & set c="" & cls
- if %IA%==1 start IA_%lang%\ecmd.vbs
- echo Commande incorrecte. Essayez ? pour la liste des cmds.
- timeout -t 3 >nul
- cls
- color 07
- cls
- goto ok
- exit
- :col
- cls
- echo.
- echo.
- echo Entrez un code couleur.
- echo Aide sur les couleurs … utiliser: tapez /?
- set /p cou=/
- if /I -%cou%==-? color/?
- if /I not -%cou%==-? color %cou%
- echo.
- echo.
- pause
- del session.lock
- set l=apres-set-couleur
- if /i %GMODE%==false echo erlv[%ERRORLEVEL%]dir[%D%]chx[%c%]d[%date%]version[%CMDEXTVERSION%]hversion[%hversion%]pl[%n%]cmddir[%CMDCMDLINE%]avt.de[%l% >session.lock
- goto ok
- :cmd
- cls
- del session.lock
- cd /d C:\users\%username%
- start %systemroot%\system32\cmd.exe
- exit
- :rl-s
- del/q session.lock
- echo ping pc^/n 3^>nul^&start hCmd^&exit>>temphc.bat
- start temphc.bat
- exit
- :ping
- cls
- set/p pg=Entrez une ip, une adresse web ou 'localhost'
- cls
- echo.
- echo Faites ctrl+C pour arreter le ping si il est trop long. Les stats s'afficheront … la fin.
- echo.
- echo Ce fichier sera détruit si vous tapez 'Clear' dans hCmd. > C:\temp\hCmd\statspingTEMP.log
- echo. >> C:\temp\hCmd\statspingTEMP.log
- ping %pg% >> C:\temp\hCmd\statspingTEMP.log
- for /f "tokens=1,2,3,4 skip=11 delims==" %%p in (C:\temp\hCmd\statspingTEMP.log) do (
- cls
- echo Moyenne du temps de r‚ponse: %%s
- )
- pause
- goto ok
- exit
- :deltemp
- cls
- echo.&echo.
- echo Bienvenue dans l'utilitaire de suppression des fichiers temporaires.
- echo 1 pour supprimer tout
- echo 2 pour supprimer s‚lectivement
- echo 3 pour vider la corbeille
- echo 4 pour supprimer les rapports d'erreurs
- echo 5 pour sortir
- set /p modetemp=
- if %modetemp%==5 goto ok
- if %modetemp%==4 (
- del/q Rapports_d'erreurs\*.*
- if %IA%==1 IA_%lang%\Deltemp\Delerreurs.vbs
- )
- if %modetemp%==1 (
- if %IA%==1 start IA_%LANG%\DelTemp\DelTempAll.vbs
- del /f /s /q C:\temp\*
- del /f /s /q C:\Users\%username%\AppData\Local\Temp\*
- echo RMDIR
- rmdir /s /q "C:\Users\%username%\AppData\Local\Temp\"
- rmdir /s /q "c:\temp\"
- md c:\temp
- del /q C:\Documents and Settings\%username%\Local Settings\Application Data\Google\Chrome\User Data\Default\Cache\*
- )
- if %modetemp%==2 (
- if %IA%==1 start IA_%LANG%\DelTemp\DelTempSel.vbs
- echo O pour oui ou N pour non. Ctrl+C pour sortir.
- del /p /s C:\temp\*
- del /p /s C:\Users\%username%\AppData\Local\Temp\*
- del /q C:\Documents and Settings\%username%\Local Settings\Application Data\Google\Chrome\User Data\Default\Cache\*
- )
- if %modetemp%==3 (
- del /f /s /q C:\$recycle.bin\*
- echo Corbeille vide.
- if %IA%==1 start IA_%LANG%\DelTemp\Corbeille.vbs
- )
- goto deltemp
- REM :MSG
- REM :: Envoi de messages privés
- REM set uuid=%UHD%
- REM echo %uuid%> Syst\id.log
- REM if %MP%==false (
- REM echo Vous devez activer la messagerie dans les parametres avec :
- REM echo /config MP true
- REM goto ok
- REM exit
- REM )
- REM call Syst\msg.vbs
- REM cls
- REM echo.
- REM echo.
- REM echo Bienvenue dans la messagerie hCmd.
- REM echo En aucun cas nous sommes tenus responsables
- REM echo du contenu des messages que vous recevez.
- REM echo Votre ID (gardez le secret, il en va
- REM echo de votre confidentialité):
- REM echo "%uuid%"
- REM echo.
- REM echo Les messages sont envoyés sous le pseudo %computername:~-4%-%username%-%NUMBER_OF_PROCESSORS%
- REM echo Partagez ce pseudo à vos amis hCmd!
- REM echo.
- REM echo.
- REM pause
- REM cls
- REM echo.
- REM echo Liste de vos messages : (nous ne sommes pas responsables du contenu)
- REM type Syst\1.log
- REM pause
- REM del Syst\1.log
- REM del syst\id.log
- :calculette
- cls
- echo.&echo.&echo.
- echo Calculette
- start calc
- echo.
- goto ok
- :mots
- :: Compteur de mots
- if %IA%==1 start IA_%lang%\compteur_mots_1.vbs
- cls
- echo.
- echo.
- echo.
- echo.
- echo Un fichier va s'ouvrir.
- echo Collez le texte à l'int‚rieur, sauvegardez, puis fermez-le.
- echo.
- echo.
- pause
- echo.>C:\temp\hCmd\compt_mots--tmp.tmp
- start /wait notepad C:\temp\hCmd\compt_mots--tmp.tmp
- echo.
- echo.
- echo.
- echo Traitement en cours...
- if %IA%==1 start /wait IA_%lang%\veuillez_patienter.vbs
- :: Merci à Sachadee pour cette partie
- set $count=0
- setlocal EnableDelayedExpansion
- set $var="%%L"
- for /f "delims=" %%a in ('type C:\temp\hCmd\compt_mots--tmp.tmp') do (
- set $var=%%a
- call:mots2 )
- echo !$count!
- pause
- exit/b
- :mots2
- if defined $var (
- set $var=%$var:~1%
- if "!$var:~1,1!"==" " set /a $count+=1
- goto:mots2)
- set /a $count+=1
- :: /
- echo Termin‚!
- pause
- cls
- echo.
- echo.
- echo.
- echo.
- echo R‚sultat = %$count%
- echo.
- pause
- goto ok
- :: !!!!!!!!!!!!!!!!!!!!!!!! DIRG !!!!!!!!!!!!!!!!!!!!!!!!!!!! ::
- :dirg
- set l=Gestion-dossiers
- if /i %GMODE%==false echo erlv[%ERRORLEVEL%]dir[%D%]chx[%c%]d[%date%]version[%CMDEXTVERSION%]hversion[%hversion%]pl[%n%]cmddir[%CMDCMDLINE%]avt.de[%l% >session.lock
- cls
- echo Bienvenue dans l'outil de gestion des dossiers!
- echo Placez vous dans le dossier a g,rer et copiez
- echo collez le chemin d'accès ici
- set/p wdir=
- for %%z in (%wdir%) do set wdir2=%%~z
- if not exist "%wdir2%" (
- start C:\temp\hCmd\ndir.vbs
- goto dirg
- )
- cd /d "%wdir%"
- :diract
- cls
- set/p action=Simplement executer 1 2 ou 3. '1'=créer '2'=supprimer '3'=lister les fichiers '4'=copier ou deplacer un dossier '5'=quitter
- if %action%==1 goto dir1
- if %action%==2 goto dir2
- if %action%==3 goto dir3
- if %action%==4 goto dir4
- if %action%==5 goto ok
- goto diract
- :dir1
- set l=Gestion-dossiers-creer
- if /i %GMODE%==false echo erlv[%ERRORLEVEL%]dir[%D%]chx[%c%]d[%date%]version[%CMDEXTVERSION%]hversion[%hversion%]pl[%n%]cmddir[%CMDCMDLINE%]avt.de[%l% >session.lock
- set/p nm=Arborescence à creer (pensez aux \ et pas aux /)
- md %nm%
- if errorlevel 0 (
- echo OK!
- ) else (
- echo Erreur
- )
- cd/d %wdir%
- goto diract
- ::si erreur dans goto, exit
- exit
- :dir2
- set l=Gestion-dossiers-detruire
- if /i %GMODE%==false echo erlv[%ERRORLEVEL%]dir[%D%]chx[%c%]d[%date%]version[%CMDEXTVERSION%]hversion[%hversion%]pl[%n%]cmddir[%CMDCMDLINE%]avt.de[%l% >session.lock
- set/p dmode=Si vous detruisez un dossier, est ce que l'invite de commande doit conserver les fichiers et les sous dossiers contenus dans le dossier à détruire? (1/0)
- if %dmode%==1 (
- set mode="Les fichiers et sous dossiers seront conserves."
- ) else set mode="Les fichiers et sous dossiers seront detruits."
- set/p nm=Dossier a detruire (irreversible, %mode%) (pensez aux \ et ne mettez pas de /)
- if %dmode%==1 set $temp$=C:\temp\hCmd\$FICHIERS-CONSERVES%random%
- if %dmode%==1 md "%$temp$%"
- if %dmode%==1 xcopy "%nm%\*.*" "%$temp$%\"
- del session.lock
- if errorlevel 0 (
- echo OK!
- ) else echo Erreur dans la conservation des fichiers. Fermez hCmd si vous ne voulez pas detruire, session.lock ne sera pas present.
- cd /d %nm%
- echo Tout dans %cd% va etre detruit! %mode% Tapez une touche pour continuer.
- pause>nul
- cls
- del /s *.*
- pause
- ::
- cd/d %D%
- rmdir /s %nm%
- if %errorlevel% GEQ 1 echo Une erreur s'est produite.
- echo Si vous avez choisi de conserver les fichiers, ils sont dans le dossier nomme %$temp$%
- echo.
- pause
- goto diract
- exit
- :dir3
- set l=Gestion-dossiers-liste,attributs
- if /i %GMODE%==false echo erlv[%ERRORLEVEL%]dir[%D%]chx[%c%]d[%date%]version[%CMDEXTVERSION%]hversion[%hversion%]pl[%n%]cmddir[%CMDCMDLINE%]avt.de[%l% >session.lock
- cls
- echo ===============
- echo ===============
- echo Liste des fichiers:
- echo.
- dir /a /b /d /q
- echo ===============
- echo ===============
- echo Attributs de fichiers:
- echo.
- attrib
- echo ===============
- echo ===============
- pause
- ::
- cd /d %D%
- ::ci dessus, retour en ~%dp0
- goto diract
- :dir4
- set l=Gestion-dossiers-deplacer,copier
- if /i %GMODE%==false echo erlv[%ERRORLEVEL%]dir[%D%]chx[%c%]d[%date%]version[%CMDEXTVERSION%]hversion[%hversion%]pl[%n%]cmddir[%CMDCMDLINE%]avt.de[%l% >session.lock
- echo Erreur 503 - Venez voir dans la prochaine version!
- pause
- goto diract
- exit
- :dir5
- set l=Gestion-dossiers-sortie,goto,ok
- if /i %GMODE%==false echo erlv[%ERRORLEVEL%]dir[%D%]chx[%c%]d[%date%]version[%CMDEXTVERSION%]hversion[%hversion%]pl[%n%]cmddir[%CMDCMDLINE%]avt.de[%l% >session.lock
- goto ok
- :: !!!!!!!!!!!!!!!______________________ fin du /dirg _________________ !!!
- exit
- :hr
- start Syst\montre.bat
- goto ok
- exit
- :frdos
- :: !!!!!!!!!!!!!!!!!!!!! FRDOS !!!!!!!!!!!!!!!!!!!!!! ::
- set l=FR-DOS
- if /i %GMODE%==false echo erlv[%ERRORLEVEL%]dir[%D%]chx[%c%]d[%date%]version[%CMDEXTVERSION%]hversion[%hversion%]pl[%n%]cmddir[%CMDCMDLINE%]avt.de[%l% >session.lock
- ::début du fichier inclus
- setlocal ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS
- REM goto 1
- ::
- :: Interpréteur de fichier de FR-DOS
- ::
- :: Par Hugo7
- :: batch.xoo.it
- ::
- :: Ne pas copier/redisribuer, merci.
- ::
- title FR-DOS -^> Batch : Traduction en cours...
- echo Glissez un fichier de FR-DOS ici.
- set/p fichierFRDOS=
- for %%D in (%fichierFRDOS%) do (
- set dir=%%~pD
- set nm=%%~nD
- )
- cd %dir%
- echo :: FICHIER FR-DOS CONVERTI EN BATCH>%nm%.bat
- echo cd/d %dir%>>%nm%.bat
- echo.>>%nm%.bat
- echo :: DEBUT CODE>>%nm%.bat
- echo.>>%nm%.bat
- echo.>>%nm%.bat
- for /f "tokens=* delims=&" %%A in (%1) do (
- set c1=%%A
- REM :: labels, commentaires en 1 ligne, cmds MS-DOS, exit, @echo off/on
- if /i "!c1:~0,1!"==":" echo %%A>>%nm%.bat
- if /i "!c1:~0,1!"=="#" echo ::%%A>>%nm%.bat
- if /i "!c1:~0,3!"=="}}/" echo !c1:~3!>>%nm%.bat
- if /i "!c1:~0,6!"=="sortir" echo exit>>%nm%.bat
- if /i "!c1:~0,7!"=="@echo o" echo !c1!>>%nm%.bat
- :: commandes en 1 ligne
- if /i "!c1:~0,1!"=="" echo.>>%nm%.bat
- if /i "!c1:~0,5!"=="aller" echo goto !c1:~5!>>%nm%.bat
- if /i "!c1:~0,3!"=="ren" echo ren !c1:~3!>>%nm%.bat
- if /i "!c1:~0,5!"=="suppr" echo del !c1:~5!>>%nm%.bat
- if /i "!c1:~0,4!"=="voir" echo type !c1:~4!>>%nm%.bat
- if /i "!c1:~0,7!"=="trouver" echo findstr !c1:~7!>>%nm%.bat
- if /i "!c1:~0,1!"=="$" echo %%!c1!%% >>%nm%.bat
- if /i "!c1:~0,2!"=="cd" echo md !c1:~2!>>%nm%.bat
- if /i "!c1:~0,3!"=="pos" echo cd !c1:~3!>>%nm%.bat
- if /i "!c1:~0,5!"=="titre" echo title !c1:~5!>>%nm%.bat
- if /i "!c1:~0,8!"=="afficher" (
- for /f "tokens=1,* delims= " %%D in ("!c1:~8!") do (
- set pr=%%D
- if "!pr:~0,1!"=="$" (
- set cTEMP=!c1:~8!
- set cTEMP2=!cTEMP: =!
- echo echo %%!cTEMP2!%% >>%nm%.bat
- ) else (
- if /i "!pr:~0,1!"=="@" (
- set cTEMP=!c1:~8!
- echo echo !cTEMP:@=%%! >>%nm%.bat
- ) else echo echo !c1:~8!>>%nm%.bat
- )
- )
- )
- if /i "!c1:~0,3!"=="met" (
- for /f "tokens=1,2,* delims= " %%M in ("!c1:~3!") do (
- set mt=%%O
- if "!mt:~0,1!"=="$" (
- echo set %%M=%%!mt!%% >>%nm%.bat
- ) else echo set %%M=%%O>>%nm%.bat
- )
- )
- REM :: cmds composees
- REM :: si -> if
- if /i "!c1!"=="sinon" (
- echo ^) else ^(>>%nm%.bat
- set siT=1
- )
- if /i "!c1:~0,2!"=="si" if /i not "!c1:~0,3!"=="sin" (
- for /f "tokens=1,2,3,4 delims= " %%A in ("!c1:~2!") do (
- if "%%C"=="" (
- start erreur.vbs "Si invalide nombre d'arguments inssufisant." "If_args_2"
- exit
- )
- set c3=%%A
- set 2e=%%B
- if /i "!c3!"=="/i" (
- set commutateurSI=/i
- set variableSI=%%!2e!%%
- set op=%%C
- set dernier=%%D
- ) else (
- set commutateurSI=
- if /i "!c3:~0,1!"=="$" set variableSI=%%!c3!%%
- set op=%%B
- set dernier=%%C
- )
- )
- if /i not "%siT%"=="1" echo if !commutateurSI! "!variableSI!" !op! "!dernier!" ^(>>%nm%.bat
- set siT=0
- )
- if /i "!c1!"=="finalors" echo ^)>>%nm%.bat
- if /i "!c1!"=="finsinon" echo ^)>>%nm%.bat
- rem :: Fin si
- rem :: BoiteDeMessage -> msgbox
- if /i "!c1:~14!"=="BoiteDeMessage" (
- for /f "tokens=1,2,3 delims=," %%A in ("!c1:~14!") do (
- set 1eA=%%A
- if "!1eA:~0,1!"=="$" (
- set 1eAv2=%%!1eA!%%
- ) else set 1eAv2=!1eA!
- echo echo msgbox "!1eAv2!", %%B, "%%C"^>^>temp.vbs>>%nm%.bat
- )
- )
- rem :: Pour -> for
- REM pour /0 @@A dans (fichier.txt)
- REM pour /f "jetons=1,2 limites=:" @@B dans (' voir fichier.txt ^| trouver "floup"')
- REM pour /l @@D dans ('début;pas;fin')
- if /i "!c1:~0,4!"=="pour" if /i not "!c1:~5,2!"=="/f" (
- for /f "tokens=1,2,3,* delims= " %%P in ("!c1:~4!") do (
- set comPOUR=%%P
- set varPOUR=%%Q
- set in_POUR=%%S
- for /f "delims=@" %%A in ("%%Q") do (
- set varPOUR2=%%A
- set varPOUR3=%%%%!varPOUR2!
- )
- for /f "delims=()" %%C in ("%%S") do (
- set contenuPOUR=%%C
- )
- if /i "!comPOUR!"=="/0" set comPOUR=
- echo for !comPOUR! !varPOUR3! in ^(!contenuPOUR!^) do ^(>>%nm%.bat
- )
- )
- rem :: Traduction de for /f
- if /i "!c1:~0,4!"=="pour" if /i "!c1:~5,2!"=="/f" (
- for /f "tokens=1,2,* delims=[]" %%F in ("!c1:~4!") do (
- set debPOUR=%%F
- set argsPOUR=%%G
- set finPOUR=%%H
- for /f "delims=@" %%A in ("!finPOUR:~1,3!") do (
- set varPOUR2=%%A
- set varPOUR3=%%%%!varPOUR2!
- )
- for /f "tokens=1,2,3,4,5,6,7,8 delims== " %%A in ("!argsPOUR!") do (
- set eol=%%B
- set skip=%%D
- set tokens=%%F
- set delims=%%H
- if /i "%%B"=="NON" set eol=
- if /i "%%D"=="NON" set skip=
- if /i "%%F"=="NON" set tokens=
- if /i "%%H"=="NON" set delims=
- set argsPOURv2=eol=!eol! skip=!skip! tokens=!tokens! delims=!delims!
- )
- echo for /f "!argsPOURv2!" !varPOUR3! !finPOUR:~4! do ^(>>%nm%.bat
- )
- )
- if /i "!c1:~0,7!"=="finpour" echo ^)>>%nm%.bat
- )
- endlocal
- pause
- %nm%
- del %nm%.bat
- :: fin du fichier inlus: interprêteur frdos modifié
- goto ok
- :flp
- copy Syst\fl.img_ C:\temp\hCmd\fl.bmp
- start C:\temp\hCmd\fl.bmp
- goto ok
- :surprise
- set conseil-NB=%RANDOM:~-4,-3%
- if "%conseil-NB%"=="" goto surprise
- for /f "tokens=1,* delims=: eol=#" %%C in ('type Syst\Conseils.db ^| find /i "%conseil-NB%:"') do (
- set conseil=%%D
- )
- Syst\conseil.vbs
- echo %conseil%
- goto ok
- :batbox
- Set/p cdbb=Chemin d'acces du dossier ou installer Batbox (laissez vide pour l'installer ici):
- if defined cdbb (
- if not exist "%cdbb%" (
- cls
- goto batbox
- )
- cd /d "%cdbb%"
- )
- For %%b In (
- "535A444488F02733410001000800FF4D5A800001000000FF04001000FFFF00008940F4F1F5F04002030E0D1C0A80FEF5F00E1FBA0E00B409FFCD21B8014CCD21"
- "54FF6869732070726F67FF72616D2063616E6EFF6F74206265207275FF6E20696E20444F53FF206D6F64652E0D0AFD241C05504500004C01BF01006399C6531C"
- "05E0FF000F010B010146001106F5F08D01020110960807019901530200F3F20201041C0520AA031FF6E80000039509AF069F043E1C045513000073AD00F70DC0"
- "071D171D271D371D471D571D2E66376C6174F5F0FC0596048D0102F50C608201901DA01DB01DC01DD01D7EE01C68D81540006AEF13EB68CCF911C8F210FF1574"
- "FEF211F5FF1554144000ABA3D4F211F60E24D0F210E8FD9AAD00438A1380CA20FF31FF66B90B003A977F481340000F8479AD00FF4767E2F0E9DAFFFF77FFE857"
- "AD0050FF351521B7FF155C1120E9C3492080BF7B015F0F850EF5F0FFFB157CF21085C00F84ABAE4920FF1570F2103D8F110F93850B6A227D2105FDF050201575"
- "78232105AD000305073A20AD25FCF1A3DC2321F0F4F003FB050B3A20C1E0100105A6AF21FF35C3235423605B21483A4921C5F4F0C7050F3A200201B5A3E52168"
- "EE22F51204216C56F210E91F4921B9F4F053F729BD0949206A18FF352221FF7315581120F0130168E0C4229A2133641120833DF1113C20CDEE492066833D3331"
- "020F855DBF4920F705F0F210FD4920770F85AF49208B3DE4F2107F89FEC1EF1081E6FCF1ABA1E87024914920035F32506F575668F8F92781FE1B3DA02B3D3B35"
- "6E3D7E33923C32A230E855AF9423685B2121F1319EEA2166A521E894EA21BA21E908A230AB68F4CA28701120E86C11A3A9F8F9111F496C5B21D76430E84D54F5"
- "F089C70620112057972015105B21BD4C413A0501F0125126F5785B21A06645803B0075EB05BBEC1202AC006A005357FF15F016417E4C4118F5F0F56A994380F2"
- "1083C40CC3BFC1E702FFA7143A2083DD05FD11048B1DFD118B1B6F85DB0F84F4F1C36A7A417EF21025730025643AE8427CE743E01B73104000AE0550F5EE0550"
- "5C055017114000552D1550B5155015F92004F920552EF92096F9205FF92079F920FF6B676163646D796F7F77687370665015E017B5B9F1006C46502814E017C4"
- "AAF100545A50085A58D2F10010525A50E8F100E015DEF100F08258FE99594D53564352542EFF444C4C004B45524EEF454C3332AF52005553FB4552BA5557494E"
- "4D4DE2AF52F88254D8556E006C6179BF536F756E6441020118F85A54F8550A316F7757696EA7646F7728025A50905A50A2AA5A50BC5A50D85A50EC5A50F42A5A"
- "500C4650244650384654186DF8286D386941206574537464BF48616E646C65066265FF74436F6E736F6C65F94D61007E6B54657874417F747472696275747D61"
- "FE8267437572736F72507F6F736974696F6E0201EF526561648564496E70FB7574F351536C6565703CAB6DBB60496E666F6E64E96D78F96C0E67826744697370"
- "EB50AA8C628846509246509C4650AC8A4650B44650BE4654407D5079007F007072696E746602013F5F676574636880728471FF6D61696E61726773EEF5F06578"
- "696C11005F6BFB6268A073737472746F016C995DC57DD57DE077"
- ) Do >> "$" (Echo.For b=1 To len^(%%b^) Step 2
- Echo WScript.StdOut.Write Chr^(Clng^("&H"^&Mid^(%%b,b,2^)^)^) : Next)
- Cscript /b /e:vbs "$" > "batbox.ex_"
- Del /f "$"
- expand batbox.ex_ batbox.exe
- del batbox.ex_
- ::
- cd/d %D%
- if errorlevel 0 (
- echo msgbox "Batbox s'est installé avec succes!",+vbInformation, "hCmd" > C:\temp\hCmd\bbxok.vbs
- start C:\temp\hCmd\bbxok.vbs
- )
- goto ok
- :clearTEMP
- del /q session.lock
- cls
- echo.
- echo.
- echo Les fichiers temporaires vont être supprim‚s.
- echo Appuyez sur une touche pour continuer, fermez pour annuler, il n'y aura pas de crash.log.
- if exist C:\temp\hCmd (
- del /f/s/q C:\temp\hCmd\*
- if errorlevel 0 if %IA%==1 start IA_%lang%\DelTemp\Clear.vbs
- timeout/t 1 >Nul
- rd /q C:\temp\hcmd
- )
- for /f %%A in ('dir %D% /b /a:H') do del %%A
- echo OK
- color a0
- pause
- color 07
- goto ok
- :ficedit
- del C:\temp\hCmd\ficedit.txt.tmp
- cls
- echo.
- echo.
- echo Quel fichier modifier?
- set/p f.cx=Glissez un fichier ici. ^> modif://
- cls
- for %%N in (%f.cx%) do (
- set f.name=%%~nxN
- )
- title %f.name% ...
- cls
- echo.
- echo.
- echo Modifiez votre fichier...
- echo ... puis enregistrez le...
- echo ... et enfin fermez le.
- notepad %f.cx%
- ping pc /n 2 >Nul
- echo Voil…!
- pause
- goto ok
- :reset-hCmd
- cd /d %D%
- cls
- echo.
- echo Filtrer le r‚pertoire de hCmd? Les plugins et configs seront supprim‚s.
- set/p rst=O/N :
- if /i not .%rst%==.O if /i not .%rst%==.N goto %c%-hCmd
- if /i .%rst%==.N goto ok
- for /f %%A in ('dir /b *.bat') do (
- if /i not "%%A"=="hcmd.bat" del %%A
- )
- del session.lock
- del Params\parametres.inf
- if %IA%==1 IA_%LANG%\reset-hcmd.vbs
- goto ok
- :st
- :: STOP
- :: L'utilisateur peut maintenant fermer l'interpréteur
- REM if %GMODE%==false Syst\PClosure.exe
- set l=EXIT
- if /i %GMODE%==false echo erlv[%ERRORLEVEL%]dir[%D%]chx[%c%]d[%date%]version[%CMDEXTVERSION%]hversion[%hversion%]pl[%n%]cmddir[%CMDCMDLINE%]avt.de[%l% >session.lock
- echo Vous allez sortir de ce logiciel.
- echo Merci de l'avoir utilise !
- del /q session.lock
- if %IA%==1 start IA_%lang%\a+.vbs
- exit
- :sl
- :: Si présence de session.lock = gen rapport d'erreurs
- :: L'utilisateur peut maintenant fermer l'interpréteur
- REM if %GMODE%==false Syst\PClosure.exe
- if not exist session.lock goto ok
- for /f "tokens=1,2,3 delims=/" %%d in ("%date%") do (
- set d1=%%d
- set d2=%%e
- set d3=%%f
- )
- for /f "tokens=1,2,3 delims=:" %%d in ("%time%") do (
- set d4=%%d
- set d5=%%e
- set d6=%%f
- )
- color c
- set/p slc=<session.lock
- cls
- echo.
- echo.
- echo erlvl=%ERRORLEVEL%
- echo.
- echo hCmd s'est ferm‚ sur une erreur merci de valider le formulaire qui s'ouvre.
- echo.
- echo.
- echo.
- echo ²²²²²²²²²²²²²² /!\ ²²²²²²²²²²²²²²
- echo.
- echo Une erreur est survenue.
- echo.
- echo.
- if not exist Rapports_d'erreurs\ md Rapports_d'erreurs\
- echo %slc% >> "Rapports_d'erreurs\crash-%d1%.%d2%.%d3%..%d4%.%d5%.%d6%.log"
- echo Fichier guide, supprimez moi seulement AVEC les autres crash.log ou quand ils sont effaces. > Rapports_d'erreurs\nps.log
- copy Syst\Rapport.vbs tmp.vbs
- start tmp.vbs
- ping pc /n 2 >nul
- del tmp.vbs
- del session.lock
- if %IA%==1 IA_%lang%\Erreur.vbs
- pause
- exit
- :existcrash
- ::
- cls
- if not exist temphc.bat echo Il vous reste des logs dans %D%Rapports_d'erreurs\ , les avez vous transmi a Hugo7? (ou via batch.xoo.it)?
- if not exist temphc.bat if %IA%==1 IA_%lang%\rapperr.vbs
- if not exist temphc.bat pause
- goto :eof
- :makeinf
- :: Création de parametres.inf via le traitement du .ini
- :: Cette partie sert aussi à remettre à 0 les paramètres
- del /q params\parametres.inf
- timeout/t 1 >Nul
- REM for /f "tokens=*" %%A in ('type params') do (
- REM echo %%A | Find "%SUPP%">nul
- REM if errorlevel 1 echo %%A>>###
- REM )
- echo # Fichier de configuration. Tapez /config pour paramétrer. Ne pas modifier manuellement. >>params\parametres.inf
- echo # >>params\parametres.inf
- echo # Ce fichier est là pour enregistrer les paramètres. >>params\parametres.inf
- echo # >>params\parametres.inf
- echo # Par Hugo7 -^> Batch.xoo.it ^<- >>params\parametres.inf
- for /f "eol=#" %%M in ('type params\parametres.ini') do (
- echo %%M>>params\parametres.inf
- )
- pause
- goto :eof
- :param
- for /f "eol=#" %%P in ('type Params\parametres.inf') do (
- set %%P
- )
- :: Si l'utilisateur a laissé le répertoire de travail équivalent à %~dp0, alors on définit une 2e fois %D%, car dans for, %~dp0 ne se définit pas...
- if "%D:~-1%"=="0" set D=%~dp0
- if "%IA%"=="true" (
- if exist IA_%lang%\Batch.vbs (
- set IA=1
- ) else set IA=0
- ) else set IA=0
- goto:eof
- :cmd-config
- :: Interface de changement des paramètres
- :: à cause du goto cmd-config systématique, il faut mettre à jour les variables.
- call :param
- cls
- echo.
- echo ^> Configuration actuelle: ^<
- echo Paramètre=contenu // description
- echo.
- echo LANG=%lang% // Langue: FR/EN
- echo IA=%ia% // Si hCmd peut vous parler avec le son: true/false
- echo ACTIVEPLUGINS=%activeplugins% // Activer les plugins? true/false
- echo GMODE=%gmode% // Créer des logs? true/false
- echo SOFTMODE=%softmode% // Non impl‚ment‚.
- echo SECUREMODEPL=%securemodepl% // Non impl‚ment‚.
- echo SAUVGCOLOR=%sauvgcolor% // Sauvegarde de la couleur, cmd '/cc' true/false
- echo ()
- echo MP=%mp% // Non impl‚ment‚.
- echo COLOR=%color% // Couleur hexad‚cimale: couleur de fond puis d'‚criture, ex: 0e
- echo.
- echo Cliquez sur un paramètre pour le changer.
- echo.
- echo [Sortir]
- echo.
- echo.
- for /f "tokens=1,2,3 delims=:" %%M in ('Syst\batbox.exe /m') do (
- if %%N==4 call :config-g lang
- if %%N==5 call :config-g ia
- if %%N==6 call :config-g activeplugins
- if %%N==7 call :config-g gmode
- REM if %%N==8 call :config-g softmode
- REM if %%N==9 call :config-g securemode
- if %%N==10 call :config-g sauvgcolor
- REM if %%N==11 call :config-g () CECI EST LA LIGNE VIDE CONTENANT "()"
- REM if %%N==12 call :config-g mp
- if %%N==13 call :config-g color
- if %%N==17 goto config-f
- goto cmd-config
- )
- :config-f
- cls
- echo.
- echo.
- echo Vous allez retourner au menu principal.
- pause
- goto ok
- exit
- :config-g
- set newparam=?
- cls
- echo.
- echo.
- echo Entrez une nouvelle valeur pour %1. Ne rentrez rien puis ex‚cutez pour voir les valeurs possibles.
- echo Tapez "A" pour annuler.
- set /p newparam=
- if %newparam%==? (
- echo LANG // FR/EN
- echo IA // true/false
- echo ACTIVEPLUGINS // true/false
- echo GMODE // true/false
- echo SOFTMODE // Non impl‚ment‚.
- echo SECUREMODEPL // Non impl‚ment‚.
- echo SAUVGCOLOR // true/false
- echo D // Espace de travail, si hCmd n'est pas dans le dossier parent.
- echo MP // Non impl‚ment‚.
- echo COLOR // Couleur hexad‚cimale: couleur de fond puis d'‚criture, ex: 0e
- echo Pour que COLOR fonctionne, mettez SAUVGCOLOR … 'true'.
- pause
- goto config-g
- )
- if /i %newparam%==A goto cmd-config
- for /f "tokens=1,* delims==" %%A in ('type params\parametres.inf') do (
- if /i not "%%A"=="%1" echo %%A=%%B>>params\parametres2.inf
- if /i "%%A"=="%1" echo %%A=%newparam%>>params\parametres2.inf
- )
- del params\parametres.inf
- copy /y "params\parametres2.inf" "params\parametres.inf"
- move /Y params\parametres2.inf C:\temp\hCmd\
- ren C:\temp\hCmd\parametres2.inf C:\temp\hCmd\params_backup.inf
- goto :eof
- :evar
- cls
- echo.
- echo Erreur dans le traitement des variables.
- echo.
- echo.
- pause
- echo ev-%UUID%-%ModeDieu%-%HVERSION%>session.lock
- exit
- :epar
- echo msgbox "Erreur dans la syntaxe des parametres.", +vbCritical, "hCmd">C:\temp\hCmd\ersypar.vbs
- C:\temp\hCmd\ersypar.vbs
- GOTO ok
- :: END OF FILE ::
- :: ouf... ::
- :: GG! ::
- <- Oh la vache le nombre de lignes! Oo
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement