Ich habe einen Befehl, den ich in einer Variablen in PowerShell erstellt und gespeichert habe. Dieser Befehl funktioniert, wenn ich einen Write-Host ausführe und in ein Standardfenster kopiere und einfüge cmd.exe
.
Wie führe ich diesen Befehl in meinem Skript aus?
Ich habe mehrere Kombinationen von Invoke-Command oder Invoke-Expression ohne Glück ausprobiert.
So habe ich die Variable erstellt:
$cmd1 = $arcprg + $arcdir + "\" + $site1 + "-" + $hst + "-" + $yesterday + ".zip " + $logpath1 + "u_ex" + $yesterday + ".log"
So sieht die Variable aus, wenn sie auf dem Bildschirm gedruckt wird:
7z.exe a -tzip c:\arc_logs\site-host-at-web1-100827.zip c:\inetpub\logs\logfiles\w3svc1\u_ex100827.log
quelle
Versuchen Sie, Ihren Befehl aufzurufen mit
Invoke-Expression
:Hier ist ein Arbeitsbeispiel auf meiner Maschine:
iex
ist ein Alias fürInvoke-Expression
so könnte man tun:Für eine vollständige Liste: Besuch https://ss64.com/ps/ für mehr
Powershell
Sachen.Viel Glück...
quelle
'C:\Program Files\7-zip\7z.exe'
, dass ich 7z.exe ausführen konnte.