@echo off
setlocal
rem === Impostazioni ===
set "DEFAULT=NomeFile"
echo ===============================
echo Generatore semplice .java
echo ===============================
echo.
:ASK_NAME
set "NAME="
set /p "NAME=Inserisci il nome della classe (senza .java) [%DEFAULT%]: "
if "%NAME%"=="" set "NAME=%DEFAULT%"
rem --- Validazione: identificatore Java valido ---
echo %NAME%| findstr /r "^[A-Za-z_][A-Za-z0-9_]*$" >nul
if errorlevel 1 (
echo.
echo ERRORE: "%NAME%" non e' un nome valido.
echo Un nome valido inizia con lettera o underscore e contiene solo lettere, numeri, underscore.
echo.
goto ASK_NAME
)
set "TARGET=%~dp0%NAME%.java"
rem --- Se esiste, chiedi conferma di sovrascrittura ---
if exist "%TARGET%" (
echo.
echo ATTENZIONE: Il file "%TARGET%" esiste gia'.
choice /C YN /M "Vuoi sovrascriverlo?"
if errorlevel 2 (
echo Operazione annullata.
goto END
)
)
echo.
echo Creazione di "%TARGET%"...
> "%TARGET%" (
echo import prog.io.*;
echo import prog.utili.*;
echo.
echo class %NAME% {
echo public static void main(String[] args^) {
echo ConsoleInputManager in = new ConsoleInputManager(^);
echo ConsoleOutputManager out = new ConsoleOutputManager(^);
echo.
echo }
echo }
)
if exist "%TARGET%" (
echo.
echo OK: creato "%NAME%.java" in "%~dp0"
) else (
echo.
echo ERRORE: impossibile trovare/creare il file. Controlla permessi, antivirus o sincronizzazione (es. OneDrive).
)
:END
echo.
pause