У меня есть команда, которую я собрал и сохранил в переменной в PowerShell. Эта команда работает, если я делаю Write-Host и копирую и вставляю в стандартное cmd.exe
окно.
Как мне выполнить эту команду из моего скрипта?
Я попробовал несколько комбинаций Invoke-Command или Invoke-Expression без удачи.
Вот как я построил переменную:
$cmd1 = $arcprg + $arcdir + "\" + $site1 + "-" + $hst + "-" + $yesterday + ".zip " + $logpath1 + "u_ex" + $yesterday + ".log"
Вот как выглядит переменная, если она выводится на экран:
7z.exe a -tzip c:\arc_logs\site-host-at-web1-100827.zip c:\inetpub\logs\logfiles\w3svc1\u_ex100827.log
источник
Попробуйте вызвать вашу команду с помощью
Invoke-Expression
:Вот рабочий пример на моей машине:
iex
является псевдонимом дляInvoke-Expression
так что вы можете сделать:Для получения полного списка: посетите https://ss64.com/ps/ для получения дополнительной информации
Powershell
.Удачи...
источник
'C:\Program Files\7-zip\7z.exe'
, я мог выполнить 7z.exe.