是否可以将写命令的输出保存在文件中? (API 和 Powershell)
Is it possible to save the output from a write command in a file? (API and Powershell)
我刚开始使用 Powershell,已经遇到了问题。
我正在使用来自 OpenWeathermap (https://openweathermap.org/) 的 API 来创建类似天气机器人的东西。
我正在使用 API 中的这个函数:
Write-WeatherCurrent -City $place -ApiKey $ApiKey -Units metric
输出是这样的(如果我填充变量):
伦敦 10.2°C(☁️ 少云)
所以我希望将此输出保存在文件中。我已经尝试使用命令 Out-File 和 >>。但它只在终端输出,文件为空。我不确定,但是否是因为“写入”-WeatherCurrent?
如果有人能帮助我,我会很高兴:D
谢谢
Write-WeatherCurrent
uses Write-Host
将输出直接写入主机控制台缓冲区。
如果您使用的是 PowerShell 5.0 或更高版本,您可以使用 InformationVariable
公共参数将 Write-Host
输出捕获到一个变量:
Write-WeatherCurrent -City $place -ApiKey $ApiKey -Units metric -InformationVariable weatherInfo
$weatherInfo
现在包含字符串输出,您可以将其写入文件:
$weatherInfo |Out-File path\to\file.txt
如果目标命令不公开公共参数,另一种选择是将 Information
流合并到标准输出流中:
$weatherInfo = Write-WeatherCurrent -City $place -ApiKey $ApiKey -Units metric 6>&1 # "stream 6" is the Information stream
我刚开始使用 Powershell,已经遇到了问题。 我正在使用来自 OpenWeathermap (https://openweathermap.org/) 的 API 来创建类似天气机器人的东西。
我正在使用 API 中的这个函数:
Write-WeatherCurrent -City $place -ApiKey $ApiKey -Units metric
输出是这样的(如果我填充变量): 伦敦 10.2°C(☁️ 少云)
所以我希望将此输出保存在文件中。我已经尝试使用命令 Out-File 和 >>。但它只在终端输出,文件为空。我不确定,但是否是因为“写入”-WeatherCurrent?
如果有人能帮助我,我会很高兴:D
谢谢
Write-WeatherCurrent
uses Write-Host
将输出直接写入主机控制台缓冲区。
如果您使用的是 PowerShell 5.0 或更高版本,您可以使用 InformationVariable
公共参数将 Write-Host
输出捕获到一个变量:
Write-WeatherCurrent -City $place -ApiKey $ApiKey -Units metric -InformationVariable weatherInfo
$weatherInfo
现在包含字符串输出,您可以将其写入文件:
$weatherInfo |Out-File path\to\file.txt
如果目标命令不公开公共参数,另一种选择是将 Information
流合并到标准输出流中:
$weatherInfo = Write-WeatherCurrent -City $place -ApiKey $ApiKey -Units metric 6>&1 # "stream 6" is the Information stream