我正在编辑一个脚本(磁盘清理器),并希望在我的脚本末尾输出已清除的所有空间以及磁盘中剩余的空间。我写了所有内容并且一切正常,但是我希望我的脚本能够显示清除多少信息,并保留一个可以检索的文本文件而不是显示它我现在的状态(通过使用写入) -主办)。我做了一些搜索并发现添加内容有效,虽然我不确定如何执行此操作,因为该脚本旨在在各种虚拟服务器上运行,因此我不知道可能需要的任何路径。
以下是我的代码的一小部分:
$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
我想找到一种方法将输出放在一个易于检索的文件中。添加内容是执行此操作的最佳方法还是有更简单/更有效的方法来实现此目标?
谢谢!
答案 0 :(得分: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