You should escape |
by ^|
when you use it inside the for
command
Commandline :
@FOR /F "usebackq" %a IN (`wmic MEMORYCHIP get Capacity ^| findstr [0-9]`) DO echo %a
Batch File :
@echo off
@FOR /F "usebackq" %%a IN (`wmic MEMORYCHIP get Capacity ^| findstr [0-9]`) DO Set "Memory=%%a"
echo %Memory%
pause
Further Reading about : How-to: Escape Characters, Delimiters and Quotes at the Windows command line.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…