powershell - powershell中变量声明的问题
问题描述
我已经声明了 2 个 PowerShell 变量
$prm=Get-WmiObject Win32_Product -Computer . -Filter "vendor = 'Wolters Kluwer Financial Services'" | Select-Object Name, Vendor, Version
$rgteng=Get-WmiObject Win32_Product -Computer . -Filter "vendor = 'WKFS'" | Select-Object Name, Vendor, Version
我希望将此变量输出到文本文件 o/p @{Name=Wolters Kluwer Financial Services Regulatory Reporting FRA Param 11.2.0; Vendor=Wolters Kluwer Financial Services; Version=11.2.0}
,我希望将此 o/p 输出到文本文件。
我试过使用Write-Output
and Write-Host
,但没有一个能给出正确的 o/p
解决方案
那里发生的事情看起来像这样(只是大图):
Get-WmiObject Win32_Product -Computer . -Filter "vendor = 'Wolters Kluwer Financial Services'"
创建一个 WMI 对象并将其通过管道传递给下一个命令Select-Object Name, Vendor, Version
将该对象转换为新的 PSCustom 类型对象(更像是 WMI 对象的表格版本,仅包含所需的信息)
然后它变得混乱:
如果您使用 write-host 或将其显示在屏幕上,输出将根据 powershell 的设置进行格式化(可以通过更改 xml 文件来更改这些设置)
如果您使用,则
export-csv
基本上使用convertto-csv | out-file c:\sometheing.txt
+一些已应用的格式规则。(我认为文件的 UTF-8 类型已更改,但我不确定...)
因此,如果您想确切了解变量/文件的外观,而又不让 powershell 格式干扰您的工作,请使用convertto-csv | out-file
.
推荐阅读
- html - 如何压缩其中的 div 和文本并使其保持响应?
- javascript - 三.js无限循环崩溃
- typescript - 货币符号未对齐
- mysql - MySQL 通过 Python 模块安装与否?
- azure-functions - 使用 Nuget 包中的 QueueTrigger 将数据发送到 Azure Functions
- laravel - 在我的所有视图中,Laravel 提供程序都无法访问提供程序中的数据
- python - Python 中的 Round() 有什么替代方法吗?
- pycharm - PyCharm Professional 2020.2 - 缺少“运行任何东西”选项?
- python-3.x - 如何像在命令行上一样在 VSCode 中运行单个测试?
- node.js - 未设置安全 cookie