将 powershell 输出存储在 CMD 中的变量中

Posted

技术标签:

【中文标题】将 powershell 输出存储在 CMD 中的变量中【英文标题】:Store powershell output in a variable in CMD 【发布时间】:2013-06-21 16:11:42 【问题描述】:

在批处理文件中,如何将 powershell 命令的输出存储在变量中 这不起作用

set yest=powershell get-date((get-date).addDays(-1)) -uformat "%Y%m%d"


powershell get-date((get-date).addDays(-1)) -uformat "%Y%m%d"

20130623

set yest=powershell get-date((get-date).addDays(-1)) -uformat "%Y%m%d"
echo %yest%

powershell get-date((get-date).addDays(-1)) -uformat "md"

【问题讨论】:

您是在 powershell 中使用 echo 还是这两个不同的脚本/控制台? echo 在批处理文件中。我在批处理文件中使用 powershell 其实这个好像已经回答了:***.com/questions/2955512/… @AthomSfere 它从命令行工作。但是当我把它放在一个批处理文件中时,它给了我一个错误a was unexpected at this time 【参考方案1】:

右大括号和百分比需要转义/加倍。

@echo off
for /f "delims=" %%a in ('powershell get-date((get-date^).addDays(-1^)^) -uformat "%%Y%%m%%d"') do set d8=%%a
echo %d8%
pause

【讨论】:

@Jubjub Bandersnatch 不,这不是真的 - 它不使用反引号并按发布的那样工作。 没错。我只是假设那些是反引号,因为我总是使用它们。

以上是关于将 powershell 输出存储在 CMD 中的变量中的主要内容,如果未能解决你的问题,请参考以下文章

在 CMD 和 PowerShell 中管道时的不同行为和输出

在 CMD 和 PowerShell 中管道时的不同行为和输出

我正在使用来自 python 的 powershell 命令获取一些数据,而 Windows 中没有 cmd!如何将此输出分配给字符串变量?

为啥以下 Hello World 程序在 PowerShell 上没有显示任何输出?相同的程序在 CMD 上显示正确的输出

在 Windows 7 上将文件重命名为 md5 sum + 扩展名(使用 CMD 或 PowerShell 2013)

powershell 添加和删​​除Windows存储来自Powershell / CMD的应用程序