使用cmd提示编写脚本

时间:2010-04-08 14:09:08

标签: windows powershell scripting csv batch-file

我正在尝试创建一个脚本,该脚本将放置一个列表(在.csv文件中)正在运行的进程占用超过10 MB的RAM,并显示脚本运行的时间+日期。我的老师在他的演讲中做到了这一点,但我不记得他是怎么做到的。只是想弄清楚如何在IT方面做得更好。

所以我的问题是,有人可以帮我这个吗?我甚至不知道从哪里开始。

6 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

试试这个

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

在现实世界中,你不会得到Vista或Win7 ....不幸的是

答案 2 :(得分:0)

您需要使用'tasklist'命令,然后按内存使用情况进行过滤。

答案 3 :(得分:0)

Windows操作系统现在附带一个名为PowerShell

的cmd备用shell

以下是您在Powershell中的表现方式。

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

善,

答案 4 :(得分:0)

使用tasklist命令,例如

tasklist /FI  "Memusage gt 10000" /NH

使用date /Ttime /T创建日期和时间。

答案 5 :(得分: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