|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Sep 2004
Città: Napoli
Messaggi: 1338
|
Aiuto su creazione file batch
Salve, innanzitutto volevo sapere se è possibile creare un file batch dove alcune operazioni vengono eseguite solo dopo il termine di altre. Ad esempio voglio includere un comando per far partire un'installazione e subito dopo un comando per far partire il setup di un aggiornamento. Se li metto insieme nello stesso file batch mi partono insieme, mentre io vorrei che il secondo comando, quello dell'aggiornamento, partisse solo dopo che l'installazione impartita col primo comando sia finita. Altrimenti devo creare più file per ogni operazione.
Seconda cosa: è possibile dopo l'esecuzione di un comando visualizzare una scritta impostata da me? Ultima domanda: dovendo far eseguire questi batch da unità cd si può impostare un comando affinchè parta qualsiasi lettera sia stata assegnata all'unità cd? Cioè se io metto un comando di far partire un certo file da E:\, se questa è la lettera del lettore cd del pc partirà, ma se mettiamo che la lettera fosse F: questo non parte, e io vorrei capire se c'è un modo per farlo partire qualsiasi sia la lettera assegnata. Spero di essermi fatto capire, attendo risposte. Grazie |
![]() |
![]() |
![]() |
#2 |
Moderatore
Iscritto dal: Nov 2006
Messaggi: 21768
|
1) per avere un batch sincrono ti basta mettere il comando che lancia l'eseguibile (per avere un batch asincrono che non aspetti la fine del programma precedente devi mettere start prima del comando).
2) usa echo 3) Il drive di esecuzione lo trovi con %~d0 piccolo esempio dove trovi tutto quello che hai chiesto Codice:
@echo off echo esegui prima calc e quando lo chiudi notepad pause calc.exe notepad.exe echo lancio sia calc che notepad insieme pause start calc.exe start notepad.exe set _SCRIPT_DRIVE=%~d0 echo il mio drive di esecuzione e': echo %_SCRIPT_DRIVE% PAUSE
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Sep 2004
Città: Napoli
Messaggi: 1338
|
Intanto grazie per la risposta. Ho creato il batch con il tuo script per vedere come funziona ma anche senza START i due programmi mi si aprono insieme. Poi ho visto che hai solo specificato il nome dei due programmi, quindi non serve specificare tutto il percorso?
Invece per quanto riguarda il drive di esecuzione non volevo intendere quello che hai detto tu. Ovviamente se non serve specificare il percorso dei file da eseguire non mi serve più saperlo, invece nel caso io debba specificarlo, quello che volevo dire è che se io scrivo ad esempio Codice:
@echo off D:\calc.exe |
![]() |
![]() |
![]() |
#4 | |
Moderatore
Iscritto dal: Nov 2006
Messaggi: 21768
|
Quote:
2) per calc e notepad puoi non mettere il percorso perchè sono mappati nelle variabili di ambiente 3) al posto della lettera puoi usare la variabile _SCRIPT_DRIVE che ti ho creato apposta
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Sep 2004
Città: Napoli
Messaggi: 1338
|
Quote:
Codice:
@echo off D:\calc.exe Codice:
@echo off _SCRIPT_DRIVE=%~d0\calc.exe Ho provato ma credo non sia così perchè non succede nulla... |
|
![]() |
![]() |
![]() |
#6 |
Moderatore
Iscritto dal: Nov 2006
Messaggi: 21768
|
1) per usare una variabile in batch devi metterla tra % (vedi come ho fatto l'echo)
2) per iniziare prova con un semplice cd %_SCRIPT_DRIVE% calc.exe
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:29.