0

我正在编辑一个脚本(磁盘清理器),并希望在我的脚本末尾输出所有已清除的空间以及磁盘中剩余的空间。我已经编写了所有内容,并且一切正常,但是我希望我的脚本显示清除了多少并保留在可以检索的文本文件中的消息,而不是显示我现在的状态(通过使用 write -主持人)。我进行了一些搜索并发现添加内容有效,尽管我不确定如何执行此操作,因为该脚本旨在在各种虚拟服务器上运行,因此我不知道可能需要任何路径。

这是我要显示的一小段代码:

$disks = Get-WMIObject -Computer $server -Class Win32_LogicalDisk -Filter "DeviceID like '%C%'"

$beforeFreeSpace = $disks.FreeSpace
$beforeFreeSpaceMB = [math]::truncate($beforeFreeSpace / 1MB)
write-output $beforeFreeSpaceMB

#Lots of code right here in between

$afterFreeSpace = $disks.FreeSpace
$afterFreeSpaceMB = [math]::truncate($afterFreeSpace / 1MB)

$freedSpace = $afterFreeSpaceMB - $beforeFreeSpaceMB
write-output $freedSpace
write-output "Free space remaining after cleanup (in MB): " $afterFreeSpaceMB

几乎我想找到一种方法来获取易于检索的文件中的输出。add-content 是最好的方法,还是有更简单/更有效的方法来实现这个目标?

谢谢!

4

1 回答 1

1

而不是使用 Write-Output 你可以做这样的事情:

$message = $freedSpace
$message += "`r`nFree space remaining after cleanup (in MB): " + $afterFreeSpaceMB

$message| Out-File -FilePath C:\logs\logfile.txt

另一种可能更清洁的方法是记录这样的事情 -

$freedSpace | Out-File -FilePath $logFilePath -Append
于 2012-07-19T19:48:38.023 回答