Войти

Показать полную графическую версию : [решено] Powershell вызов из cmd


c4uran
14-09-2015, 11:59
Мне уже помогали на этом форуме вот такой (супер божественной) строкой:


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
14-09-2015, 12:42
Какой сакральный смысл вызова powershell через cmd? Почему бы просто не запускать powershell без cmd.

powershell "команда"

c4uran
14-09-2015, 14:31
полученную переменную PS переведенную в переменную cmd

Iska
14-09-2015, 15:47
Теперь же суть вопроса: как можно сделать любой другой вызов powershell из cmd »
Что значит «любой другой»? Чем не устраивает имеющийся?

c4uran
15-09-2015, 09:35
допустим, мне нужно получить отчет по директориям используя 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
15-09-2015, 10:08
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
15-09-2015, 10:26
@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
15-09-2015, 10:53
Все работает, всем спасибо, разобрался




© OSzone.net 2001-2012