PDA

View Full Version : [VBS] Lanciare batch senza prompt


23Andrea
26-12-2014, 07:11
Ciao.
Ho trovato questa riga di codice per avviare un file batch senza visualizzare il prompt:

CreateObject("Wscript.Shell").Run "<unità>:\<percorso>\<nomefile>.bat <parametro>", 0, True

La utilizzo con un link, in questa successione:

Collegamento > File.vbs > File.bat

Vorrei utilizzare lo stesso file vbs per eseguire in background anche altri file batch, utilizzando un link diverso per ogni file .bat.
Immagino che dovrei sostituire la parte "<unità>:\<percorso>\<nomefile>.bat <parametro>" con una variabile, ma come richiamare la variabile giusta da ogni collegamento?
Non conosco questo linguaggio: mi aiutate a modificare il codice?
Grazie.

x_Master_x
26-12-2014, 08:26
La scusa "non conosco questo linguaggio" non regge :D
Se non lo conosci non lo usi, non serve a nulla che qualcuno lo scriva per te se poi non lo sai gestire, in caso appunto tu voglia fare qualche modifica anche piccola. Qui trovi un esempio di VBS che usa i parametri, con un minimo di impegno riuscirai a modificarlo come preferisci:
http://www.hwupgrade.it/forum/showpost.php?p=41506507&postcount=10

23Andrea
26-12-2014, 08:53
Grazie per il link (è tutta la mattina che cercavo qualcosa del genere), tutto il resto, francamente, mi sembra superfluo e fuori luogo ;) .

x_Master_x
26-12-2014, 09:35
Se lo dici tu, questa è la sezione "Programmazione" e non c'è luogo migliore per invitarti ad imparare e non cercare scuse come non lo conosco, fatelo per me. Poi se uno vuole rimanere "nell'ignoranza" ( mi riferisco nello specifico ai soli VBS! ) è una scelta voluta, altrimenti Corsi, Tutorial e FAQ (http://hwupgrade.it/forum/forumdisplay.php?f=56) o risorse come Scripting: Your First Steps (http://technet.microsoft.com/it-it/scriptcenter/dd940112.aspx) / Sesame Script (http://technet.microsoft.com/it-it/scriptcenter/dd772284.aspx)

23Andrea
26-12-2014, 13:02
Così

CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 1, False

riesco a lanciare i file bat con un link con questa destinazione

C:\Windows\System32\cscript.exe "<percorso script vbs>.vbs" "<percorso script batch>.bat"

ma non riesco ad utilizzare eventuali parametri destinati al file bat :cry:

23Andrea
26-12-2014, 19:02
:winner:
Codice del file .vbs:
CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """" & WScript.Arguments(1) & "", 0, False

Destinazione del link:
C:\Windows\System32\cscript.exe "<unità>:\<percorso>\<nomefile>.vbs" "<unità>:\<percorso>\<nomefile>.bat" "<parametro batch>"

x_Master_x
26-12-2014, 19:24
Ok ma ti consiglio di verificare i parametri prima dell'esecuzione, se non metti ad esempio il parametro del batch avrai un errore del VBS e non eseguirà nulla.

23Andrea
27-12-2014, 11:46
Se il file batch non richiede parametri, si può sempre inserire una stringa vuota ("") nel link, al posto del parametro :ops2: .