How to set available memory to a string/variable in a batch file?
I am trying to set a variable by the name of SYSTEM_RAM to equal the output of the command below.
systeminfo |find "Available Physical Memory"
This will let me find the available ram, then display it to the viewer so they don't see the background work of the command. Also this will allow me to run math on the amount such as,
if %SYSTEM_RAM% > 100 then echo good to go
I want to check if %SYSTEM_RAM% is less than %RAM_AMOUNT% and if so then run code accordingly
I am using the following code in my batch file:
for /f "skip=1" %%p in ('wmic os get TotalVisibleMemorySize') do ( set system_ram=%%p goto :end ) :end echo %system_ram%
goto :endinside the loop is necessary as wmic will return more than just one line.
%system_ram%can then be compared like this:
set RAM_AMOUNT=8388608 if %free_memory% geq %ram_amount% echo This is enough
You could also check against the free memory using
FreePhysicalMemoryinstead of the total installed memory.