Sto provando a eseguire un lavoro in uno sfondo che è un exe con parametri e la destinazione ha spazi. Per esempio:Lavoro in background in PowerShell
$exec = "C:\Program Files\foo.exe"
e voglio eseguire questo con i parametri:
foo.exe /param1 /param2, etc.
so che Start-Job
fa questo, ma ho provato tonnellate di combinazioni diverse e neanche mi dà un errore a causa del lo spazio bianco o a causa dei parametri. Qualcuno può aiutarmi con la sintassi qui? Devo supporre che $exec
sia il percorso dell'eseguibile perché fa parte di un file di configurazione e potrebbe cambiare in seguito.
Grazie per l'aiuto! Cosa significa 2> & 1? – Brian
@Brian Ah sì che reindirizzerà il flusso di errore standard (2) al flusso di uscita standard (1). Ciò garantisce che riceverai tutto il testo dall'eseguibile dal cmdlet 'Receive-Job'.In genere quello che faccio nel lavoro in background è catturare l'output di un eseguibile '$ out = xcopy $ a $ b 2> & 1', quindi controlla se il codice di uscita (' $ LASTEXITCODE') è diverso da zero e in tal caso lancia il catturato testo come messaggio di eccezione: 'buttare $ out'. –