CMD/BAT - [решено] Powershell вызов из cmd

Ответить
Аватара пользователя
c4uran

CMD/BAT - [решено] Powershell вызов из cmd

Сообщение c4uran »

Мне уже помогали на этом форуме вот такой (супер божественной) строкой:





Код:

Код: Выделить всё

for /f "delims=" %%i in ('
 powershell "($x=[System.Runtime.InteropServices.Marshal])::PtrToStringAuto($x::SecureStringToBSTR((Read-Host 'Entered symbols will be hide' -AsSecureString)))"
') do set password=%%i

Теперь же суть вопроса: как можно сделать любой другой вызов powershell из cmd и на выходе полученную переменную PS переведенную в переменную cmd
Аватара пользователя
Kazun

Re: CMD/BAT - [решено] Powershell вызов из cmd

Сообщение Kazun »

Какой сакральный смысл вызова powershell через cmd? Почему бы просто не запускать powershell без cmd.





Код:

Код: Выделить всё

powershell "команда"
Аватара пользователя
c4uran

Re: CMD/BAT - [решено] Powershell вызов из cmd

Сообщение c4uran »

полученную переменную PS переведенную в переменную cmd
Аватара пользователя
c4uran

Re: CMD/BAT - [решено] Powershell вызов из cmd

Сообщение c4uran »

Цитата c4uran:



Теперь же суть вопроса: как можно сделать любой другой вызов powershell из cmd
CMD/BAT - [решено] Powershell вызов из cmd




Что значит «любой другой»? Чем не устраивает имеющийся?
Аватара пользователя
c4uran

Re: CMD/BAT - [решено] Powershell вызов из cmd

Сообщение c4uran »

допустим, мне нужно получить отчет по директориям используя PS:





Код:

Код: Выделить всё

Get-ChildItem | measure -Property Length | select -Property Count

используя cmd как получить из этого переменную cmd не используя вывод в файл



UPD:



Пардон решается так:





Код:

Код: Выделить всё

for /f "delims=" %%i in ('
powershell "(Get-ChildItem | measure -Property Length | select -Property Count)"
') do set count=%%i

но такой пример так не решается:





Код:

Код: Выделить всё

Get-WmiObject Win32_Product | Where-Object {$_.Name -match "Silverlight"} | select -Property version
Аватара пользователя
Kazun

Re: CMD/BAT - [решено] Powershell вызов из cmd

Сообщение Kazun »

Код:

Код: Выделить всё

for /f "delims=" %%i in ('
 powershell "Get-WmiObject Win32_Product | Where-Object {$_.Name -match """Silverlight"""} | Select -ExpandProperty Version"
') do echo %%i

или





Код:

Код: Выделить всё

for /f "delims=" %%i in ('
 powershell "Get-WmiObject Win32_Product | Where-Object {$_.Name -match 'Silverlight'} | Select -ExpandProperty Version"
') do echo %%i
Аватара пользователя
Foreigner

Re: CMD/BAT - [решено] Powershell вызов из cmd

Сообщение Foreigner »

Код:

Код: Выделить всё

@echo off
setlocal
set "exec=powershell "gwmi win32_product ^| where {$_.name -match 'Silverlight'} ^| select -expand version""
for /f %%i in ('%exec%') do echo %%i
Аватара пользователя
c4uran

Re: CMD/BAT - [решено] Powershell вызов из cmd

Сообщение c4uran »

Все работает, всем спасибо, разобрался
Ответить

Вернуться в «Скриптовые языки администрирования Windows»