2012-07-19 175 views
0

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

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

$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 

差不多我想找到一种方式来获得输出的文件,很容易检索。添加内容是实现这一目标的最佳方法还是有更简单/更有效的方法来实现此目标?

谢谢!

回答

1

而不是使用写输出,你可能只是做这样的事情的:

$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 
+0

所以我会将输出消息的底部行添加到每个具有写入输出点的文件中? – Valrok 2012-07-19 19:56:09

+0

你想添加东西到$消息字符串中:$ message + =“'r'n新东西在它之前有一个新行” – 2012-07-19 20:14:57

+0

此外,有一百万种方法可以做到这一点,这只是其中之一。 – 2012-07-19 20:15:14