Обновите значение переменной в файле .bat из вывода powershell (вызывается в том же .bat) - PullRequest
0 голосов
/ 21 мая 2019

Имеем следующий код и хотим, чтобы результат powershell был в aux_var.
(обычный .bat-файл, вызываемый из cmd)

@echo off
set aux=123.657.999
echo before%aux%
powershell -Command "'%aux%' -replace '\.',''"
echo after%aux%

Результат

before123.657.999
123657999
after123.657.999

Очевидныйчто код не обновляет результат, потому что я не знаю, как получить результат powershell.

Желаемый результат

before123.657.999
after123657999

До сих пор не нашел что-то полезное.Любая помощь будет оценена.

Спасибо.

1 Ответ

1 голос
/ 21 мая 2019

Вы все еще можете использовать автономное приложение для достижения того, что вы хотите, но если вы действительно хотите использовать и batch, и powershell

@echo off
set aux=123.657.999
echo before%aux%
for /f %%i in ('powershell -Command "'%aux%' -replace '\.',''"') do set aux=%%i
echo after%aux%

PS !! точный метод с использованием чистой партии будет:

@echo off
set aux=123.657.999
echo before%aux%
set aux=%aux:.=%
echo after%aux%
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...