WinXP: zjištění dostupné/volné paměti
Zase bych tu měl další dotázek. Ve Win9x byl příkaz mem, kterým se dalo vypsat obsazení paměti. Hledám něco podobnýho do WinXP - příkaz nebo program, ideálně aby šlo jištěný info zapsat do souboru (přesměrování výstupu). Neznáte něco takovýho?
Pavel
Process Explorer, View/Set Columns/Process Memory, File/Save as...
ProcessExplorer.html
Jinak příkaz mem je i ve Windows XP.
Díky, ale já to myslel tak, aby šlo zavolat ten program automaticky a on zjištěný info zapsal do souboru bez uživatelskýho zásahu. Teď koukám, že jsem tuhle důležitou podmínku neuvedl v dotazu, už stárnu
Pavel
V jakým tvaru to má zapsat do toho souboru? MEM >SOUBOR.TXT nestačí?
To mu asi nebude stačit:
V těch WinXP mi mem nefunguje jako ve Win9x, pc má 380 MB a já dostanu něco takovýho
Pavel
Tohle by mohlo být ono PsInfo.html
Pavel
Takže příkaz psinfo physical vypíše instalovanou paměť (velikost), bohužel ale stejně zjišťuje všechny informace a trvá to fakt dlouho.
Pavel
Možná by to šlo přes windows script host, musím se kouknout někde na netu...
Pavel
určitě, použij WMI
S wsh nemám zatím žádný zkušenosti, musím se teprve naučit...
Pavel
Možná tady: http://www.informit.com/articles/article.asp?p=3905 86&seqNum=2&rl=1
Start -> Spustit napisat msinfo32.exe.
Start -> Spustit napisat cmd napisat systeminfo > c:\info.txt.
Doplnění dotazu: moc se omlouvám, ale přesměrování do souboru nemůžu využít, takže nejspíš něco přes ten WSH.
Pavel
Tak už jsem něco našel: http://www.computerperformance.co.uk/vbscript/wmi_m emory.htm
' Memory.vbs
' Sample VBScript to discover how much RAM in computer
' Author Guy Thomas computerperformance.co.uk
' Version 1.3 - August 2005
' -------------------------------------------------- -----'
Option Explicit
Dim objWMIService, objComputer, colComputer
Dim strLogonUser, strComputer
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colComputer = objWMIService.ExecQuery _
("Select * from Win32_ComputerSystem")
For Each objComputer in colComputer
Wscript.Echo "System Name: " & objComputer.Name _
& vbCr & "Total RAM " & objComputer.TotalPhysicalMemory
Next
WScript.Quit
' End of Sample Memory WMI / VBScript
Pavel
Upravil jsem skript tak, aby počítal paměť v kB a MB, programátoři prominou za lehce naivní implementaci:
' Memory.vbs
' Sample VBScript to discover how much RAM in computer
' Author Guy Thomas computerperformance.co.uk
' Version 1.3 - August 2005
' -------------------------------------------------- -----'
Option Explicit
Dim objWMIService, objComputer, colComputer
Dim strLogonUser, strComputer
Dim MemkB
Dim MemMB
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colComputer = objWMIService.ExecQuery _
("Select * from Win32_ComputerSystem")
For Each objComputer in colComputer
MemkB = objComputer.TotalPhysicalMemory/1024
MemMB = MemkB/1024
Wscript.Echo "System Name: " & objComputer.Name _
& vbCr & "Total RAM " & MemMB & " MBytes"
Next
WScript.Quit
' End of Sample Memory WMI / VBScript
Pavel
no vidíš to.. ani to nebolelo
Jenom bych podotkl: narazil jsem na autoit a opouštím WSH, viz http://pc.poradna.net/question/view/45563-autoit3-z kusenosti - v tomhle jsou dělat věci podstatně líp.
Pavel
mem /c > vypis.txt - vyhovuje zadaniu
Edit: Ale len pre konvenčnú pamäť, keďže CMD tabuľka je "DOS" program.