如何解析行的命令输出并存储它的数组变量?

时间:2014-03-28 04:31:40

标签: mfc cmd

for /f %a in ('REG QUERY HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run') do @echo %a|find /v "\"

输出: XSENZ Persistence IntelliPoint IgfxTray HotKeysCmds

我需要逐个解析并将其保存到CStringArray中。这可能吗?请给我解决方案

2 个答案:

答案 0 :(得分:0)

上面的解决方案在某些情况下会截断名称。

这使用名为repl.bat的帮助程序批处理文件来删除前导和尾随空格 - 从https://www.dropbox.com/s/qidqwztmetbvklt/repl.bat下载

repl.bat放在与批处理文件相同的文件夹中或放在路径上的文件夹中。

@echo off
setlocal EnableDelayedExpansion
for /f "skip=2 delims=" %%a in ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" ^|repl " *(.*?) *REG_.*?.*" "$1" ') do (
set /a c+=1
set n=000!c!
set n=!n:~-2!
set "var[!n!]=%%a"
)
set var[
pause

答案 1 :(得分:0)

只需使用API​​即可。

RegEnumValue将完成工作。