从Powershell输出更新.bat文件上的变量值(在同一.bat上调用)

时间:2019-05-21 11:20:37

标签: powershell batch-file

具有以下代码,并希望powershell的结果在aux_var中。
(从cmd调用的常规.bat文件)

@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 个答案:

答案 0 :(得分:1)

您仍然可以使用独立版本来实现所需的功能,但是如果您确实想同时使用batchpowershell

@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%