J'ai une commande que j'ai créée et stockée dans une variable dans PowerShell. Cette commande fonctionne si je fais un Write-Host et que je copie et colle dans une cmd.exe
fenêtre standard .
Comment exécuter cette commande depuis mon script?
J'ai essayé plusieurs combinaisons d'Invoke-Command ou d'Invoke-Expression sans succès.
Voici comment j'ai construit la variable:
$cmd1 = $arcprg + $arcdir + "\" + $site1 + "-" + $hst + "-" + $yesterday + ".zip " + $logpath1 + "u_ex" + $yesterday + ".log"
Voici à quoi ressemble la variable si elle est imprimée à l'écran:
7z.exe a -tzip c:\arc_logs\site-host-at-web1-100827.zip c:\inetpub\logs\logfiles\w3svc1\u_ex100827.log
la source
Essayez d'appeler votre commande avec
Invoke-Expression
:Voici un exemple de travail sur ma machine:
iex
est un alias pourInvoke-Expression
donc vous pouvez faire:Pour une liste complète: visitez https://ss64.com/ps/ pour plus d'informations
Powershell
.Bonne chance...
la source
'C:\Program Files\7-zip\7z.exe'
, je pouvais exécuter 7z.exe.