Ответить безумие в Powershell - PullRequest
       4

Ответить безумие в Powershell

2 голосов
/ 11 февраля 2012

Я использую 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)

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

Термин «a» не распознается как имя командлета, функции,файл сценария или работающая программа.Проверьте правильность написания имени или, если путь был указан, проверьте правильность пути и повторите попытку.В строке: 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 </p>

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

1 Ответ

4 голосов
/ 11 февраля 2012

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

& $WinRAR a $srcPath "-x*\.svn" "-x*\.svn\*" "-x*\nutrition.db3" *  -r -s -m5 -inul
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...