Вы должны войти, чтобы создавать сообщения и темы.

PowerShell внутри BAT

Добрый день! Подскажите, пожалуйста, есть ли простой способ поместить PowerShell-команды в bat-файл? Нашёл шаблон для создания гибридного файла. насколько это корректно? Поделитесь, пожалуйста, своими решениями!

@echo off
powershell -NoProfile -ExecutionPolicy Bypass -Command "Invoke-Expression (Get-Content '%~f0' | Select-Object -Skip 3 | Out-String)"
goto :eof
# --- Здесь начинается код PowerShell ---

 

Имир, Привет.
Норм код у тебя, используй.

Лайкнул Имир
Имир
«Любой дурак может знать. Дело в том, чтобы понять.» — Альберт Эйнштейн

Mikhail, спасибо за ответ! А для однострочных скриптов достаточно взять код в кавычки и поставить вначале строки Скопированоpowershell? Или нужно всю комбинацию писать (Скопированоpowershell -NoProfile -ExecutionPolicy Bypass -Command)?

А зачем тебе тогда выше гибрид, ну сделай в одну строку запуск и все.
Типа: powershell -NoProfile -ExecutionPolicy Bypass -Command "Write-Host 'Привет'"

Лайкнул Имир
Имир
«Любой дурак может знать. Дело в том, чтобы понять.» — Альберт Эйнштейн

Mikhail, гибрид нужен как раз для многострочного кода. Для однострочного тоже надо писать эти параметры (Скопировано-NoProfile -ExecutionPolicy Bypass -Command)? Я просто не совсем понимаю, зачем нужны эти параметры, если скрипты работают и без них: просто пишу сначала строки Скопированоpowershell и дальше команда в кавычках...

Имир, Ну, однострочный прям простой код можно просто powershell и ....код, если будешь распространять на другие ПК, возможно потребуется полный код.

Лайкнул Имир
Имир
«Любой дурак может знать. Дело в том, чтобы понять.» — Альберт Эйнштейн