【发布时间】:2021-10-04 03:20:13
【问题描述】:
我正在使用 PowerShell 获取文件的文件版本
C:\WINDOWS\system32>powershell (Get-Command C:\Users\lafarnum\Downloads\aniteloggingclientapi.dll).FileVersionInfo.FileVersion 1.12.0.4
输出文件版本为 1.12.0.4。 我想将此文件版本像正常分配一样通过管道传输到 DOS CMD 变量中,但问题是它只是分配 PowerShell 命令字符串,而不是 PowerShell 命令的输出
C:\WINDOWS\system32>set pfpathset=powershell (Get-Command C:\Users\lafarnum\Downloads\aniteloggingclientapi.dll).FileVersionInfo.FileVersion
C:\WINDOWS\system32>echo %pdpathset% %pdpathset%
C:\WINDOWS\system32>echo %pfpathset% powershell (Get-Command C:\Users\lafarnum\Downloads\aniteloggingclientapi.dll).FileVersionInfo.FileVersion
C:\WINDOWS\system32>
所以PS命令输出好像没有直接指向CMD STDOUT输出? 那么我是否必须将 PS 命令的输出通过管道传输到另一个字符串变量中,然后将该变量分配给我的 pfpathset 变量?还是我必须使用 ps 脚本来执行此操作?
很抱歉,如果这是一个基本问题,但我是一个 powershell 新手,因此我们将不胜感激。
谢谢你的期待
【问题讨论】:
-
一路去PS吧。老实说,我没有理由想到为什么要在 2021 年混合使用 Powershell 和 CMD。
-
你在解决什么问题?您是否在问如何在 cmd.exe shell 脚本(批处理文件)中获取文件的版本号元数据?我也想知道和之前的评论一样:为什么不完全放弃 cmd.exe 并在 PowerShell 中编写整个脚本?
标签: powershell