Ho un comando che ho creato e memorizzato in una variabile in power shell. Questo comando funziona se faccio un host di scrittura e copio e incollato in una finestra standard di cmd.exe.Esecuzione di un comando memorizzato in una variabile da PowerShell
Come si esegue questo comando dall'interno del mio script?
Ho provato diverse combinazioni di invoke-command o invoke-expression senza fortuna.
Ecco come ho costruito la variabile:
$cmd1= $arcprg + $arcdir + "\" + $site1+"-"+$hst+"-"+$yesterday+".zip "+$logpath1+"u_ex"+$yesterday+".log"
Questo è ciò che la variabile appare come se viene stampato sullo schermo:
7z.exe a -tzip c:\arc_logs\site-host-at-web1-100827.zip c:\inetpub\logs\logfiles\w3svc1\u_ex100827.log
È grandioso. Sta cominciando a venire insieme ora. Invece di 'c: \ temp \ con spazio \ test1.zip' posso usare solo una variabile $? Devo posizionarlo "" o ""? – Travis
+1 per la tecnica dell'array, questo è il mio modo preferito per farlo. –
Lo splatting sembra funzionare allo stesso modo: & $ cmd @prm Ma sono curioso di sapere perché è quello – C2H5OH