Я копался в этом некоторое время, но я не мог понять, как это работает. Что мне нужно это:
- Уметь запускать командный файл
- Пакетный файл должен иметь параметры
- Параметры должны быть переданы из командного файла в сценарий PowerShell, который находится в том же файле
Зачем мне это нужно? Потому что для выполнения каких-то задач мне нужно запустить простой командный файл, но мне нужны расширенные функциональные возможности, которые работают только из PowerShell. В частности: мне нужно SaveFileDialog
для некоторых приложений.
Вот то, что у меня есть сейчас, где я удалил сложные части SaveFileDialog
и оставил простую партию + PowerShell:
<# :
@echo off
setlocal
powershell -noprofile "iex (${%~f0} | out-string)"
goto :EOF
#>
Write-Host "Hello, I'm PowerShell!"
Если я положу все это в командный файл, скажем, myfile.bat
. Он запускается и вызывает PowerShell и записывает это сообщение.
Мой вопрос / запрос: Как я могу запустить myfile.bat param1 param2 param3
и получить эти аргументы / параметры для передачи в мой скрипт PowerShell? Я бы очень признателен за минимальный пример, который просто печатает параметры через write-host
powershell.
Пожалуйста, не стесняйтесь спрашивать более подробную информацию. Спасибо!