Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    166

    istruzione goto fa la cretina

    ciao

    ho scritto questo script cmd:

    codice:
    @echo off
    rem Creazione del menu.
    echo A Installazione di Vista Business SP1 in un'unica partizione
    echo B Installazione di Vista HomeBasic SP1 in un'unica partizione
    echo C Installazione di Vista HomePremium SP1 in un'unica partizione
    echo D Installazione di Vista Ultimate SP1 in un'unica partizione
    echo.
    echo E Installazione di Vista Business SP1 con la partizione di sistema e la partizione "Profili e dati utenti"
    echo F Installazione di Vista HomeBasic SP1 con la partizione di sistema e la partizione "Profili e dati utenti"
    echo G Installazione di Vista HomePremium SP1 con la partizione di sistema e la partizione "Profili e dati utenti"
    echo H Installazione di Vista Ultimate SP1 con la partizione di sistema e la partizione "Profili e dati utenti"
    echo.
    echo I Installazione di Vista Business SP1 senza modificare la partizione "Profili e dati utenti"
    echo J Installazione di Vista HomeBasic SP1 senza modificare la partizione "Profili e dati utenti"
    echo K Installazione di Vista HomePremium SP1 senza modificare la partizione "Profili e dati utenti"
    echo L Installazione di Vista Ultimate SP1 senza modificare la partizione "Profili e dati utenti"
    echo.
    echo R Riavvia il computer
    echo U Uscita dal menu
    echo.
    rem Comando che permette la scelta di una voce del menu.
    choice.exe /c abcdefghijklru /m "Digitare una lettera:"
    rem Ciclo FOR per determinare quale unita fisica contenga la directory File_XML per inserirla nella variabile DvDDrive.
    for %%I in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do
    if exist %%I:\Files_XML set DvDDrive=%%I
    rem Imposta il valore della variabile Unattend in base alla scelta della voce del menu effettuata sopra.
    IF %ERRORLEVEL% EQU 1 set Unattend=%DvDDrive%:\Files_XML\Installazione_Vista_Business_SP1_una_partizione.xml
    IF %ERRORLEVEL% EQU 2 set Unattend=%DvDDrive%:\Files_XML\Installazione_Vista_HomeBasic_SP1_una_partizione.xml
    IF %ERRORLEVEL% EQU 3 set Unattend=%DvDDrive%:\Files_XML\Installazione_Vista_HomePremium_SP1_una_partizione.xml
    IF %ERRORLEVEL% EQU 4 set Unattend=%DvDDrive%:\Files_XML\Installazione_Vista_Ultimate_SP1_una_partizione.xml
    IF %ERRORLEVEL% EQU 5 set Unattend=%DvDDrive%:\Files_XML\Installazione_Vista_Business_SP1_due_partizioni.xml
    IF %ERRORLEVEL% EQU 6 set Unattend=%DvDDrive%:\Files_XML\Installazione_Vista_HomeBasic_SP1_due_partizioni.xml
    IF %ERRORLEVEL% EQU 7 set Unattend=%DvDDrive%:\Files_XML\Installazione_Vista_HomePremium_SP1_due_partizioni.xml
    IF %ERRORLEVEL% EQU 8 set Unattend=%DvDDrive%:\Files_XML\Installazione_Vista_Ultimate_SP1_due_partizioni.xml
    IF %ERRORLEVEL% EQU 9 set Unattend=%DvDDrive%:\Files_XML\Formattazione_partizione_sistema_Vista_Business_SP1_due_partizioni.xml
    IF %ERRORLEVEL% EQU 10 set Unattend=%DvDDrive%:\Files_XML\Formattazione_partizione_sistema_Vista_HomeBasic_SP1_due_partizioni.xml
    IF %ERRORLEVEL% EQU 11 set Unattend=%DvDDrive%:\Files_XML\Formattazione_partizione_sistema_Vista_HomePremium_SP1_due_partizioni.xml
    IF %ERRORLEVEL% EQU 12 set Unattend=%DvDDrive%:\Files_XML\Formattazione_partizione_sistema_Vista_Ultimate_SP1_due_partizioni.xml
    rem Riavvia il computer.
    IF %ERRORLEVEL% EQU 18 goto Riavvia
    rem Condizioni di uscita dal menu in base alla pressione, da parte dell'utente, del tasto z (o Z) o della sequenza Ctrl-c (o Ctrl-Break) o in base
    rem a una condizione di errore.
    IF %ERRORLEVEL% EQU 21 goto Uscita
    IF %ERRORLEVEL% EQU 0 goto Uscita
    IF %ERRORLEVEL% EQU 255 goto Uscita
    rem Esecucuzione dell'installazione personalizzta di Vista SP1.
    %DvDDrive%:\sources\setup.exe /unattend:%Unattend%
    :Riavvia
    wpeutil reboot
    :Uscita
    exit /b
    quando eseguo questo script e premo la lettera u, questo script esegue la label Riavvia e non la label Uscita. come mai ?

    questo script lo sto eseguendo su VIsta sp1 a64 bit prima di provarlo su Windows PE 2.1 a 64 bit .

    GRAZIE

    CIAO
    Balubeto

    Su Facebook, e` nato il gruppo SoftHard per tutti http://www.facebook.com/group.php?gid=52641062213&ref=nf . Vi aspetto.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    La u corrisponde all'errorlevel 14 ...

    P.S. Complimenti per il titolo ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    E in ogni caso ti saresti semplificato la vita usando il comando set /p invece di choice.
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Anzi, mi correggo ... l'ERRORLEVEL per la U e' 19 e la devi prevedere comunque ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    166
    Originariamente inviato da MItaly
    E in ogni caso ti saresti semplificato la vita usando il comando set /p invece di choice.
    Molto interessante usare il comando set /p: mi potestri fare vedere come si fa a creare questo script con tale comando?

    GRAZIE

    CIAO
    Balubeto

    Su Facebook, e` nato il gruppo SoftHard per tutti http://www.facebook.com/group.php?gid=52641062213&ref=nf . Vi aspetto.

  6. #6
    Originariamente inviato da balubeto
    Molto interessante usare il comando set /p: mi potestri fare vedere come si fa a creare questo script con tale comando?
    Apri il DOS e scrivi:
    codice:
    set /?

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    166
    Originariamente inviato da MacApp
    Apri il DOS e scrivi:
    codice:
    set /?
    Mi potestri fare un esempio con set /p per creare un menu come il mio?

    GRAZIE

    CIAO
    Balubeto

    Su Facebook, e` nato il gruppo SoftHard per tutti http://www.facebook.com/group.php?gid=52641062213&ref=nf . Vi aspetto.

  8. #8
    codice:
    :Inizio
    SET /P var=Inserisci la tua scelta (A, B, C, D) e premi Invio: 
    IF "%var%" == "A" GOTO SceltoA
    IF "%var%" == "B" GOTO SceltoB
    IF "%var%" == "C" GOTO SceltoC
    IF "%var%" == "D" GOTO SceltoD
    GOTO SceltaErrata
    :SceltoA
    ECHO Hai scelto A
    GOTO Fine
    :SceltoB
    ECHO Hai scelto B
    GOTO Fine
    :SceltoC
    ECHO Hai scelto C
    GOTO Fine
    :SceltoD
    ECHO Hai scelto D
    GOTO Fine
    :SceltaErrata
    ECHO Valore non valido
    GOTO Inizio
    :Fine
    ECHO Fine
    Amaro C++, il gusto pieno dell'undefined behavior.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    166
    ciao

    prova a guardare questo script :

    codice:
    @echo off
    
    rem Ciclo FOR per determinare quale unita fisica contenga la directory File_XML per inserirla nella variabile DVDDrive.
    
    for %%I in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%I:\Files_XML set DVDDrive=%%I
    
    rem Creazione del menu.
    
    echo A Installazione di Vista Business SP1 in un'unica partizione
    echo B Installazione di Vista HomeBasic SP1 in un'unica partizione
    echo C Installazione di Vista HomePremium SP1 in un'unica partizione
    echo D Installazione di Vista Ultimate SP1 in un'unica partizione
    echo.
    echo E Installazione di Vista Business SP1 con due partizioni
    echo F Installazione di Vista HomeBasic SP1 con due partizioni
    echo G Installazione di Vista HomePremium SP1 con due partizioni
    echo H Installazione di Vista Ultimate SP1 con due partizioni
    echo.
    echo I Installazione di Vista Business SP1 formattando solo la partizione sistema
    echo J Installazione di Vista HomeBasic SP1 formattando solo la partizione sistema
    echo K Installazione di Vista HomePremium SP1 formattando solo la partizione sistema
    echo L Installazione di Vista Ultimate SP1 formattando solo la partizione sistema
    echo.
    echo R Riavvia il computer
    echo U Uscita dal menu
    echo.
    
    :Inizio
    
    rem Comando che permette la scelta di una voce del menu.
    
    set /p Lettera=Digitare una lettera e premere Invio:
    
    if /i "%Lettera%" EQU "A" goto Scelta A
    if /i "%Lettera%" EQU "B" goto Scelta B
    if /i "%Lettera%" EQU "C" goto Scelta C
    if /i "%Lettera%" EQU "D" goto Scelta D
    if /i "%Lettera%" EQU "E" goto Scelta E
    if /i "%Lettera%" EQU "F" goto Scelta F
    if /i "%Lettera%" EQU "G" goto Scelta G
    if /i "%Lettera%" EQU "H" goto Scelta H
    if /i "%Lettera%" EQU "I" goto Scelta I
    if /i "%Lettera%" EQU "J" goto Scelta J
    if /i "%Lettera%" EQU "K" goto Scelta K
    if /i "%Lettera%" EQU "L" goto Scelta L
    if /i "%Lettera%" EQU "R" goto Scelta R
    if /i "%Lettera%" EQU "U" goto Scelta U
    goto Scelta Errata
    
    :Scelta A
    set Unattend=%DVDDrive%:\Files_XML\Installazione_Vista_Business_SP1_una_partizione.xml
    goto Installazione Vista
    
    :Scelta B
    set Unattend=%DVDDrive%:\Files_XML\Installazione_Vista_HomeBasic_SP1_una_partizione.xml
    goto Installazione Vista
    
    :Scelta C
    set Unattend=%DVDDrive%:\Files_XML\Installazione_Vista_HomePremium_SP1_una_partizione.xml
    goto Installazione Vista
    
    :Scelta D
    set Unattend=%DVDDrive%:\Files_XML\Installazione_Vista_Ultimate_SP1_una_partizione.xml
    goto Installazione Vista
    
    :Scelta E
    set Unattend=%DVDDrive%:\Files_XML\Installazione_Vista_Business_SP1_due_partizioni.xml
    goto Installazione Vista
    
    :Scelta F
    set Unattend=%DVDDrive%:\Files_XML\Installazione_Vista_HomeBasic_SP1_due_partizioni.xml
    goto Installazione Vista
    
    :Scelta G
    set Unattend=%DVDDrive%:\Files_XML\Installazione_Vista_HomePremium_SP1_due_partizioni.xml
    goto Installazione Vista
    
    :Scelta H
    set Unattend=%DVDDrive%:\Files_XML\Installazione_Vista_Ultimate_SP1_due_partizioni.xml
    goto Installazione Vista
    
    :Scelta I
    set Unattend=%DVDDrive%:\Files_XML\Formattazione_partizione_sistema_Vista_Business_SP1_due_partizioni.xml
    goto Installazione Vista
    
    :Scelta J
    set Unattend=%DVDDrive%:\Files_XML\Formattazione_partizione_sistema_Vista_HomeBasic_SP1_due_partizioni.xml
    goto Fine
    
    :Scelta K
    set Unattend=%DVDDrive%:\Files_XML\Formattazione_partizione_sistema_Vista_HomePremium_SP1_due_partizioni.xml
    goto Installazione Vista
    
    :Scelta L
    set Unattend=%DVDDrive%:\Files_XML\Formattazione_partizione_sistema_Vista_Ultimate_SP1_due_partizioni.xml
    goto Installazione Vista
    
    :Scelta R
    wpeutil reboot
    goto Fine
    
    :Scelta U
    goto Fine
    
    :Scelta Errata
    echo Valore non valido
    pause
    goto Inizio
    
    :Installazione Vista
    %DVDDrive%:\sources\setup.exe /unattend:%Unattend%
    goto Fine
    
    :Fine
    goto :EOF
    in particolare , prova a guardare se il comando nella label Installazione Vista puo` funzionare o devo mettere i doppi apici alle variabili .

    grazie

    ciao

    p.s: questo script deve funzionare su Windows pe 2.1 .
    Balubeto

    Su Facebook, e` nato il gruppo SoftHard per tutti http://www.facebook.com/group.php?gid=52641062213&ref=nf . Vi aspetto.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.