Bonjour à tous,

J'ai rencontré un problème avec mon script Batch et je suis à la recherche d'aide pour le résoudre. Lorsque j'ouvre le script, la fenêtre se ferme immédiatement sans afficher le menu principal. Je voudrais comprendre ce qui ne fonctionne pas correctement et comment résoudre ce problème.

Voici le contenu de mon script actuel :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
@echo off
title Cl3aner P0rtable

:: Variables de langue
setlocal enabledelayedexpansion
set lang=english

:: Variables de couleur
set color=0A

:MainMenu
cls
echo MainMenu:
echo.
if "%lang%"=="english" (
    echo 1) Clean-Up Temporary Files
    echo 2) Clean-Up Prefetch Files
    echo 3) Clean-Up Downloads Files
    echo 4) Settings
    echo 5) Quit
) else if "%lang%"=="french" (
    echo 1) Nettoyer les fichiers temporaires
    echo 2) Nettoyer les fichiers prefetch
    echo 3) Nettoyer les fichiers téléchargés
    echo 4) Paramètres
    echo 5) Quitter
) else if "%lang%"=="spanish" (
    echo 1) Limpiar archivos temporales
    echo 2) Limpiar archivos prefetch
    echo 3) Limpiar archivos descargados
    echo 4) Configuración
    echo 5) Salir
) else if "%lang%"=="german" (
    echo 1) Temporäre Dateien aufräumen
    echo 2) Prefetch-Dateien aufräumen
    echo 3) Heruntergeladene Dateien aufräumen
    echo 4) Einstellungen
    echo 5) Beenden
) else if "%lang%"=="russian" (
    echo 1) Очистка временных файлов
    echo 2) Очистка файлов Prefetch
    echo 3) Очистка загруженных файлов
    echo 4) Настройки
    echo 5) Выйти
)
echo.
set /p input=Option:

if "%input%"=="1" (
    call :1
) else if "%input%"=="2" (
    call :2
) else if "%input%"=="3" (
    call :3
) else if "%input%"=="4" (
    call :4
) else if "%input%"=="5" (
    exit /b 0
) else (
    goto :MainMenu
)

goto :MainMenu

:1
echo Deleting temporary files...
del /s /f /q %temp%\*.*
pause
goto :MainMenu

:2
echo Deleting prefetch files...
del /s /f /q C:\Windows\Prefetch\*.*
pause
goto :MainMenu

:3
echo Deleting downloads files...
del /s /f /q %userprofile%\Downloads\*.*
pause
goto :MainMenu

:4
echo Settings:
echo.
if "%lang%"=="english" (
    echo 1) Change Language
    echo 2) Change Color
    echo 3) Go back to Main Menu
) else if "%lang%"=="french" (
    echo 1) Changer la langue
    echo 2) Changer la couleur
    echo 3) Retourner au menu principal
) else if "%lang%"=="spanish" (
    echo 1) Cambiar idioma
    echo 2) Cambiar color
    echo 3) Volver al menú principal
) else if "%lang%"=="german" (
    echo 1) Sprache ändern
    echo 2) Farbe ändern
    echo 3) Zurück zum Hauptmenü
) else if "%lang%"=="russian" (
    echo 1) Изменить язык
    echo 2) Изменить цвет
    echo 3) Вернуться в главное меню
)
echo.
set /p input=Option:

if "%input%"=="1" (
    goto :ChangeLanguage
) else if "%input%"=="2" (
    goto :ChangeColor
) else if "%input%"=="3" (
    goto :MainMenu
) else (
    goto :MainMenu
)

:ChangeLanguage
echo Select language:
echo.
echo 1) English
echo 2) French
echo 3) Spanish
echo 4) German
echo 5) Russian
echo.
set /p lang_choice=Option:

if "%lang_choice%"=="1" (
    set lang=english
) else if "%lang_choice%"=="2" (
    set lang=french
) else if "%lang_choice%"=="3" (
    set lang=spanish
) else if "%lang_choice%"=="4" (
    set lang=german
) else if "%lang_choice%"=="5" (
    set lang=russian
)

goto :MainMenu

:ChangeColor
echo Select color:
echo.
echo 1) Green
echo 2) Blue
echo 3) Red
echo 4) Yellow
echo 5) White
echo.
set /p color_choice=Option:

if "%color_choice%"=="1" (
    set color=0A
) else if "%color_choice%"=="2" (
    set color=09
) else if "%color_choice%"=="3" (
    set color=0C
) else if "%color_choice%"=="4" (
    set color=0E
) else if "%color_choice%"=="5" (
    set color=07
)

goto :MainMenu
J'ai récemment apporté quelques modifications pour permettre le changement de langue et de couleur dans le menu des paramètres. Cependant, depuis ces modifications, le script se ferme instantanément après son ouverture, sans afficher le menu principal.

J'ai essayé de déboguer le script en commentant certaines parties pour identifier la source du problème, mais sans succès.

Pouvez-vous m'aider à comprendre pourquoi le script ne fonctionne plus correctement et pourquoi il se ferme immédiatement après l'ouverture ? Qu'est-ce qui pourrait causer ce comportement inattendu ?

Merci d'avance pour votre aide précieuse !