View Full Version : comando .bat errore scelta ritornare daccapo...?
brubaker
12-12-2013, 21:26
Salve ragazzi spero che qui qualcuno mi aiuti dato che non ho studiato progammazione..:mad: :cry:
il quesito sembra semplice ho creato un comando .bat per eseguire estrazioni in 7z sfx in una cartella specifica a scelta..il comando e' questo:
echo.
set /p var=Selezionare il Numero Della Cartella d'Installazione Desiderata:{1}-{2}-{3}INVIO
echo.
echo.
echo 1.C:\Program Files (x86).."C:\?"=(Choose The Number ONE).....O-:
echo.
echo 2.E:\Program Files (x86).."E:\?"=(Choose The Number TWO).....O-:
echo.
echo 3.D:\Program Files (x86).."D:\?"=(Choose The Number THREE)...O-:
echo.
echo.
set /p a=
IF %a%==1 start "" ""7zG.exe x Data.exe -p"1234" -o"C:\Program Files (x86)" -y""
IF %a%==2 start "" ""7zG.exe x Data.exe -p"1234" -o"E:\Program Files (x86)" -y""
IF %a%==3 start "" ""7zG.exe x Data.exe -p"1234" -o"D:\Program Files (x86)" -y""
echo.
echo.
set /p var=____________??(-:??..Press Enter To EXIT The Installation..??:-)??_____________
exit
Adesso quello che mi interessa..cosa che non sono riuscito a fare:muro: e' nel caso in cui premendo un numero sbagliato o lettera al di fuori di 1-2-3 mi dia un messaggio di errore, anche descritto tipo "errore nella scelta riprovare" e di riportarmi all'inizio dello script senza che debba chiudere e riaprire il file .bat..:confused: :mbe:
Spero sia stato abbastanza chiaro ..Grazie!!!:D :)
Tuvok-LuR-
13-12-2013, 10:04
prova così
:TOP
echo.
set /p var=Selezionare il Numero Della Cartella d'Installazione Desiderata:{1}-{2}-{3}INVIO
echo.
echo.
echo 1.C:\Program Files (x86).."C:\?"=(Choose The Number ONE).....O-:
echo.
echo 2.E:\Program Files (x86).."E:\?"=(Choose The Number TWO).....O-:
echo.
echo 3.D:\Program Files (x86).."D:\?"=(Choose The Number THREE)...O-:
echo.
echo.
set /p a=
IF %a%==1 (
start "" ""7zG.exe x Data.exe -p"1234" -o"C:\Program Files (x86)" -y""
) ELSE (
IF %a%==2 (
start "" ""7zG.exe x Data.exe -p"1234" -o"E:\Program Files (x86)" -y""
) ELSE (
IF %a%==3 (
start "" ""7zG.exe x Data.exe -p"1234" -o"D:\Program Files (x86)" -y""
) ELSE (
GOTO TOP
)
)
)
echo.
echo.
set /p var=____________??(-:??..Press Enter To EXIT The Installation..??:-)??_____________
exit
bancodeipugni
13-12-2013, 11:14
fai anche un case
brubaker
13-12-2013, 12:01
fai anche un case
fai anche un case ???????:confused: :confused: :rolleyes: :rolleyes:
SI..SI..puo' andar bene ma devo riscrivere tutto il file.bat i passaggi con le tre scelde sono molteplici non solo l'esempio che ho postato..:)
grazie..Tuvok-LuR-:D :D
P.S dato che mi trovo volevo chiedere a voi maestri se conoscete il metodo tramite parametro di comando in 7z sfx di estrarre un file e ad estrazione conclusa automaticamente creare un collegamento sul desktop di un file .exe contenente l'archivio?????? so che e' possibile ma non ho trovato nulla che spiega dettagliatemente il metodo...
https://sourceforge.net/p/sevenzip/discussion/45797/thread/24096134/ec0b/attachment/7zdialog.PNG
https://sourceforge.net/p/sevenzip/discussion/45797/thread/24096134/ec0b/attachment/short.png
bancodeipugni
13-12-2013, 13:49
beh devi riscrivere solo quel pezzo dell'if else ...
se aggiungi altre opzioni diventa una sbrodolatura ingestibile
la cosa in 7zip l'avevo fatta con winrar direttamente nell'archivio ma un po' di tempo fa
brubaker
13-12-2013, 14:09
beh devi riscrivere solo quel pezzo dell'if else ...
se aggiungi altre opzioni diventa una sbrodolatura ingestibile
la cosa in 7zip l'avevo fatta con winrar direttamente nell'archivio ma un po' di tempo fa
Eh si cmq con winrar è gestito direttamente da software il crea shortcut:) con 7z no!!..:mbe: ma come ti comprime 7z (LZMA..LZMA2) non ti comprime nessun altro software:O :O :)
brubaker
14-12-2013, 21:36
Ragazzi il tutto funziona bene grazie ai vostri consigli tranne una cosa che non ne non riesco a venirne a capo :muro: e mi serve il vostro aiuto...perche' non mi funziona correttamente il comando START in un subfolder o sub directory cioe' in una sottocartella?????????:confused: :mc: :muro: mi spiego.
Dall'esempio riportato di Tuvok-LuR- devo far partire uno script.vbs contenuto in una sottocartella che mi da un messaggio di box piu' un suono contenuto in una seconda sottocartella del file .bat compilato es.:
cerco di spiegarmi meglio Cartella principale "Pippo" contiene il file MyBackup.bat compilato..Cartella "Resources" contiene copy1.vbs..copy2.vbs..etc Cartella "suoni" contiene il suono da generare es. town.mid...
echo off
:TOP
echo.
set /p var=Selezionare il Numero Della Cartella d'Installazione Desiderata:{1}-{2}-{3}INVIO
echo.
echo.
echo 1.C:\Program Files (x86).."C:\?"=(Choose The Number ONE).....O-:
echo.
echo 2.E:\Program Files (x86).."E:\?"=(Choose The Number TWO).....O-:
echo.
echo 3.D:\Program Files (x86).."D:\?"=(Choose The Number THREE)...O-:
echo.
echo.
set /p a=
IF %a%==1 (
echo.
set /p var=Aggiornamento Microsoft Visual C++ 2012 {x86}/{x64}...???...{INVIO}
start "" "Resources\copy1.vbs"
) ELSE (
IF %a%==2 (
echo.
set /p var=Aggiornamento Microsoft Visual C++ 2012 {x86}/{x64}...???...{INVIO}
start "" "Resources\copy2.vbs"
) ELSE (
IF %a%==3 (
echo.
set /p var=Aggiornamento Microsoft Visual C++ 2012 {x86}/{x64}...???...{INVIO}
start "" "Resources\copy3.vbs"
) ELSE (
GOTO TOP
)
)
)
echo.
echo.
set /p var=____________??(-:??..Press Enter To EXIT The Installation..??:-)??_____________
exit
Il file .vbs complilato funziona nella cartella "Resources" se ci clicco parte messaggio + suono se invece lo faccio partire dal .bat mi compare solo il messaggio...senza suono...:mbe: :doh:
lo script .vbs e' compilato in questo mo:
'Set Player = createobject("Wmplayer.OCX.7")
'Player.url = "suoni\town.mid"
'x=msgbox ("Copiato.!!!.",0,"AVVISO!!!")
Confido nel vostro aiuto spero sia stato chiaro..GRAZIE.
PS: Logicamente se sposto il file copy1.vbs ed il file town.mid nella cartella principate contenete il comando MyBackup.bat e modifico la linea di comando in (start "" "copy1.vbs") il tutto funziona alla perfezione ma e' proprio questo che vorrei evitare di fare :-)
bancodeipugni
15-12-2013, 22:54
devi fare l'export della PATH
almeno cosi' si usa fare su bash :mbe:
brubaker
17-12-2013, 15:15
devi fare l'export della PATH
almeno cosi' si usa fare su bash :mbe:
Grazie dell'informazione ma ho risolto con la conversione del file script (.vbs) in un file (.exe) in questo modo partendo in eseguibile si avvia la riga di comando impostata per il file audio chiudendosi all'ok del MSG BOX..:D
Vi chiedo solo un ultimissimo aiutino ho modificato lo script postato in precedenza da Tuvok-LuR- in un unica scelta dato che le 3 scelte "1-2-3" incasinavano un po' tutto.. e come diceva bancodeipugni "se aggiungi altre opzioni diventa una sbrodolatura ingestibile":) :) l'unica cortesia che vi chiedo e' un esempio sulla base dello stesso script postato non piu con le tre scelte 1.2.3 ma con una semplice scelta (YES) o (NO) nel continuare le installazioni oppure uscire dal progamma ms-dos...:rolleyes: :) Vi invidio un casino ragazzi beati voi che sapete aiutarmi in queste cose....io la fortuna di andare all'universita' per studiare ste cose non l'ho avuta :muro: :muro: Grazie...
brubaker
18-12-2013, 11:31
Ragazzi qualcuno e' cosi' gentile da spiegarmi come si fa l'export della PATH???
pensavo di aver risolto invece convertendo lo script .vbs in exe e lanciandolo tramite bat funziona solo se imposto la riga di comando nel completo percorso del file .vbs...tipo:
Set Player = createobject("Wmplayer.OCX.7")
Player.url = "Voices\Welcome.mid"
wscript.sleep 35000
Non funziona lanciandolo tramite comando .BAT se clicco sopra si...
Al contrario:
Set Player = createobject("Wmplayer.OCX.7")
Player.url = "E:\Source_Install_2013\Resources\Voices\Welcome.mid"
wscript.sleep 35000
Funziona alla perfezione sia tramite comando .bat che si trova nella cartella "Source_Install_2013" sia se ci clicco su nella sottocartella "Resources"
Help me !!!1..:muro: :muro: :muro: :muro:
ma perchè ti sei impergolato ad usare 7zip e non 7za che è la versione apposita da linea di comando?
http://www.dotnetperls.com/7-zip-examples
brubaker
18-12-2013, 16:15
ma perchè ti sei impergolato ad usare 7zip e non 7za che è la versione apposita da linea di comando?
http://www.dotnetperls.com/7-zip-examples
Per dire la verita' sono passato a winrar per comprimere il backup dei miei file con il quale sono riuscito finalmente a creare un collegamento sul desktop in automatico degli eseguibili che mi interessano...con 7zip non ci sono riuscito.:rolleyes: :confused:
Mi rimane solo il problema citato...quello di far partire lo script .vbs tramite .bat da sottocartella come se ci cliccassi sopra..
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.