Mam polecenie, które zbudowałem i zapisałem w zmiennej w programie PowerShell. To polecenie działa, jeśli wykonam Write-Host i skopiuję i wkleję do standardowego cmd.exe
okna.
Jak wykonać to polecenie z wnętrza mojego skryptu?
Próbowałem kilku kombinacji Invoke-Command lub Invoke-Expression bez powodzenia.
Oto jak zbudowałem zmienną:
$cmd1 = $arcprg + $arcdir + "\" + $site1 + "-" + $hst + "-" + $yesterday + ".zip " + $logpath1 + "u_ex" + $yesterday + ".log"
Oto jak wygląda zmienna, jeśli jest drukowana na ekranie:
7z.exe a -tzip c:\arc_logs\site-host-at-web1-100827.zip c:\inetpub\logs\logfiles\w3svc1\u_ex100827.log
źródło
Spróbuj wywołać swoje polecenie za pomocą
Invoke-Expression
:Oto działający przykład na moim komputerze:
iex
Jest to alias dlaInvoke-Expression
tak można zrobić:Aby uzyskać pełną listę: Odwiedź https://ss64.com/ps/, aby uzyskać więcej informacji
Powershell
.Powodzenia...
źródło
'C:\Program Files\7-zip\7z.exe'
, mogłem uruchomić 7z.exe.