Цитата Безумие в Powershell

Я использую invoke-expression в PowerShell создать архив, но он не работает из-за пробелов в пути exe. Это мои переменные:

Set-Variable -name DIRRELEASE       -value (Join-Path $env:UserProfile "\Documents\Coding\_Projects\ChickenPing\trunk\Dist\current\")
$srcPath = (Join-Path $DIRRELEASE ("myapp_1.90-src.zip"))
Set-Variable -name WinRarFilter     -value "-x*\.svn -x*\.svn\* -x*\nutrition.db3"
Set-Variable -name WinRarOpts       -value "-r -s -m5 -inul"
$WinRar = `"C:\Program Files\Winrar\winrar.exe`"

#Then using this to invoke:
Invoke-Expression ($WinRAR + " a " + $srcPath + " " + $WinRARFilter + " * " + $WinRAROpts)

Когда я запускаю скрипт, я получаю эту ошибку:

Термин "а" не распознается как имя командлета, функции, файла сценария или работоспособной программы. Проверьте правильность написания имени или, если путь был указан, проверьте правильность пути и повторите попытку. В строке:1 символ:3 + a <<<< C:\Users\Echilon\Documents\Coding_Projects\MyApp\trunk\Dist\c urrent\myapp_1.95-src.zip -x*.svn -x*.svn* -x*\nutrition.db3 * -r -s - m5 -inul + CategoryInfo: ObjectNotFound: (a:String) [], команда CommandNotFoundEx ception + FullyQualifiedErrorId: CommandNotFoundException

Я просто не могу найти правильную комбинацию цитат и плюсов.

1 ответ

Решение

Вы можете сделать это намного проще, используя оператор вызова &,

& $WinRAR a $srcPath "-x*\.svn" "-x*\.svn\*" "-x*\nutrition.db3" *  -r -s -m5 -inul
Другие вопросы по тегам