Что ж, я какое-то время искал решение для этого, без каких-либо скриптов только из CLI. Вот как я это делаю xD:
Перейдите в папку, из которой вы хотите запустить скрипт (важно, чтобы у вас были дополнения вкладок)
..\..\dir
Теперь заключите location в двойные кавычки и добавьте внутри них cd
, чтобы мы могли вызвать другой экземпляр powershell.
"cd ..\..\dir"
Добавьте еще одну команду для запуска скрипта, разделенную ;
, с разделителем команд в PowerShell
"cd ..\..\dir\; script.ps1"
Наконец, запустите его с другим экземпляром powershell
start powershell "cd..\..\dir\; script.ps1"
Это откроет новое окно PowerShell, перейдите в ..\..\dir
, запустите script.ps1
и закройте окно.
Обратите внимание, что ";" просто разделяет команды, как если бы вы вводили их одну за другой, если первая не удалась, вторая будет запущена и следующая после, а затем после ... Если вы хотите, чтобы новое окно PowerShell было открыто, вы добавляете -noexit в переданную команду. Обратите внимание, что сначала я перехожу к желаемой папке, чтобы использовать завершение табуляции (вы не могли заключать их в двойные кавычки).
start powershell "-noexit cd..\..\dir\; script.ps1"
Используйте двойные кавычки, ""
чтобы вы могли передавать каталоги с пробелами в именах, например,
start powershell "-noexit cd '..\..\my dir'; script.ps1"
ant
с некоторыми параметрами. Поэтому мне нужно позвонитьant
из этой папки, чтобы убедиться, что он правильно нашел файл конфигурации. В идеале я ищу что-нибудь для временного изменения каталога выполнения локально внутри этого сценария.