2015-07-14 4 views
0

У меня есть Powershell скрипт, скажем, \ Folder \ я тогда есть ехе, что я пытаюсь выполнить из \ Folder \ Files \Вызов файла внутри папки сценария в PowerShell

Как я могу выполнить этот файл без необходимости укажите весь путь и просто используйте текущую папку, а затем разверните файл.

Я пытаюсь использовать что-то вроде этого, но он не работает

Start-Process -FilePath '.\Files\setup.exe' -ArgumentList "-s" -Wait 
+0

возможно дубликат [что это лучший способ, чтобы определить местоположение текущего сценария PowerShell? ] (http://stackoverflow.com/questions/5466329/whats-the-best-way-to-determine- the-location-of-current-powershell-script) – briantist

+0

Я пытался заставить это работать, но новичок в powershell, поэтому, возможно, я делаю что-то не так, но я не мог заставить его работать –

+0

Измените свой вопрос, чтобы показать код, который вы пытаетесь. – briantist

ответ

1

$PSScriptRoot переменной будет видеть вас в порядке, если вы используете PowerShell 3 или более поздней версии. В версии 2 эта переменная будет работать только в модулях, и я не уверен в версии 1 (до моего времени.)

$PSScriptRoot дает вам путь к каталогу, в котором сохраняется сценарий (а не полный путь, включая имя файла, так что вам не нужно беспокоиться о расщеплении, что из)

для вашего конкретного примера:.

Start-Process -FilePath "$PSScriptRoot\Files\setup.exe" -ArgumentList "-s" -Wait 
+1

'$ PSScriptRoot' был представлен с поддержкой модулей в V2. Нет, он не был доступен в V1. –