Powershell.exe запускает скрипт в cli или оболочку? - PullRequest
0 голосов
/ 05 июня 2009

У меня есть стороннее приложение, которое расширяется путем добавления exe-файлов, которые выполняют преобразование данных и т. Д. Я написал расширение в Powershell, которое выполняет преобразование, которое я хочу, но я не могу получить стороннее приложение для Запустите мой PS1, так как он будет принимать только EXE-файл в качестве расширения. Приложение добавляет имя файла в качестве первого (и единственного) аргумента командной строки к расширению, поэтому команда, которую оно запускает, выглядит следующим образом:

someprogram.exe somefile.xml

Я пытался заставить его запустить Powershell.exe с моим скриптом в качестве аргумента, но я не смог выяснить, как и если это возможно. Некоторые вещи, которые я пробовал как

powershell.exe myscript.ps1

не будет работать. Я попытался заставить скрипт найти правильный файл XML, но все равно почему-то не смог заставить Powershell запустить командную строку, взять скрипт в качестве аргумента и запустить его.

Затем я подумал о написании небольшого файла .exe, который запускает только скрипт Powershell, но возможно ли это? Если это так, может ли кто-нибудь подтолкнуть меня в правильном направлении?

Ответы [ 2 ]

1 голос
/ 19 сентября 2015

Вы также можете попробовать Powershell.exe -Command "& your-app.exe ${your-arguments}

1 голос
/ 05 июня 2009

Powershell хочет иметь точный путь к файлам сценариев, прежде чем запускать их. Так что вам нужно либо использовать

powershell.exe .\myscript.ps1

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

powershell.exe C:\Users\Foo\Scripts\myscript.ps1

или аналогичный.

...