2010-04-08 48 views
1

我正在嘗試製作一個腳本,用於放置正在運行的進程超過10 MB RAM的列表(在.csv文件中)並顯示時間+日期腳本運行。我的老師在他的演講中這樣做,但我不記得他是如何做到的。試圖弄清楚如何在IT方面做得更好。使用cmd提示編寫腳本

所以我的問題是,任何人都可以幫助我嗎?我甚至不知道從哪裏開始。

+0

的操作系統是Windows。 – Josh 2010-04-08 14:11:37

+1

你總是可以要求你的老師解釋他們做了什麼以及它是如何工作的,很遺憾地指引你回到那個方向,但是你可能會得到更多的解釋,而不是直接回答。 – Lazarus 2010-04-08 14:12:34

+0

@拉扎魯斯,如果你按照他的建議去做,那麼一定要回到這個問題,並給我們答案:) – Earlz 2010-04-08 14:16:40

回答

0

您需要使用'tasklist'命令,然後按內存使用情況進行過濾。

0

的Windows操作系統,現在備選殼CMD稱爲PowerShell的

出貨這裏是你會怎麼做在PowerShell中。

ps | where-object { $_.workingset -gt 10000000 } | Out-File c:\list.csv 

善良,

1

試試這個

set var=%DATE% %TIME% 
echo %var%>c:\tasklist2.csv 
tasklist /fi "memusage gt 10000" /fo csv>>c:\tasklist2.csv 

在現實世界中你沒有得到Vista或Win7的....不幸

0

使用tasklist命令例如

tasklist /FI "Memusage gt 10000" /NH 

使用date /Ttime /T創建日期和時間。

0

您也可以在這裏添加日期到文件名。

set var=%DATE% %TIME% 
set var1=%DATE% 
set var1=%var1:/=% 
set var1=%var1:~-8% 
echo %var%>c:\tasklist%var1%.csv 
tasklist /fi "memusage gt 10000" /fo csv>>c:\tasklist%var1%.csv 
2

爲此,您可以在PowerShell中像這樣:

Get-Process | Where {$_.PM -gt 10MB} | 
    Export-Csv "memhogs-$(Get-Date -uf %Y%m%d%H%M).csv 

或使用別名

gps | ?{$_.PM -gt 10MB} | epcsv "memhogs-$(Get-Date -uf %Y%m%d%H%M).csv