Показать полную графическую версию : [решено] Powershell вызов из cmd
Мне уже помогали на этом форуме вот такой (супер божественной) строкой:
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
Какой сакральный смысл вызова powershell через cmd? Почему бы просто не запускать powershell без cmd.
powershell "команда"
полученную переменную PS переведенную в переменную cmd
Теперь же суть вопроса: как можно сделать любой другой вызов powershell из cmd »
Что значит «любой другой»? Чем не устраивает имеющийся?
допустим, мне нужно получить отчет по директориям используя 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
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
Все работает, всем спасибо, разобрался
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.