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

簡単に取得できるファイルで出力を取得する方法を見つけたいと思っています。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 に答える