/ / Как да сложите един изходен низ PowerShell в променлива cmd? - batch-file, powershell, cmd

Как да се постави един PowerShell изход низ в cmd променлива? - партида-файл, powershell, cmd

Имам PowerShell скрипт, който извежда единстойност на низ. Имам скрипт, който трябва да изпълни скрипта на PowerShell и да постави тази изходна стойност на PowerShell в променлива в пакетния скрипт. Аз намирам всички видове методи за експортиране към файл или четене на файл, но това не е това, което искам. Благодаря!

(редактиране) Ето къде се опитвам да го използвам (в отговор на публикуването на скрипта):

@echo off
REM The next line puts the .ps1 output into the variable
REM and, obviously, this does not work
set pass_word=<C:tempPullPassword.ps1
tabcmd login -s "http://myserver.net" -u mylogon -p %pass_word%

( редактиране ) Тук видях отговора от ОП Получаване на стойност на променлива Powershell в пакетния скрипт и също погледнах отговора на foxdrive, така че започнах да играя с изявлението FOR ... DO. Мислех, че съм доста добър с cmd и не можех да разбера защо не работих:

for /f "delims=" %%a in ("powershell . "C:tempPullPassword.ps1"") do set val=%%a
echo  %a%

Когато гледах пълния отговор на foxdrive в другия пост, той ме удари:% a% беше грешен, имах нужда от% val%!

@echo off
set mypath=C:tempPullPassword.ps1
for /f "delims=" %%a in ("powershell . "C:tempPullPassword.ps1"") do set pass_word=%%a
tabcmd login -s "http://myserver.net" -u mylogon -p %pass_word%

Така че аз ще се похвали, когато е наложително и да отбележим правилно отговора на foxdrive, въпреки че това беше другият пост изяснени моя грешка.

Отговори:

2 за отговор № 1

Това може да помогне: той очаква, че скриптът на powershell извежда текста в STDOUT, което е нормалното място за него.

@echo off
for /f "delims=" %%a in (" powershell "script.ps1" ") do set "var=%%a"