Цитата Безумие в 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