2016-03-08 229 views
0

我可以通过命令行运行此命令:命令失败

 REG QUERY "HKLM\someregkey" > c:\filename.text 

那么我可以运行一个循环按行读入行并导出每个子项

 FOR /F "usebackq tokens=6 delims=\" %G IN  ("c:\filename.txt") DO (REG EXPORT "HKLM\someregkey\%G" "E:\directory\%G.reg" /y) 

但是,当我批量运行它,我得到1>,它不会执行。我很久以前就有过这个问题,但忘记了我是如何通过它的。

有什么建议吗?

回答

0

1>是重定向的正确命令。对于MSDos兼容性原因,CMD自动修复>1>。你只能看到它发生在批处理文件中。 1是文件句柄,控制台屏幕(标准输出),是键盘(stdin),被错误发送到屏幕(stderr)。

您的代码在批处理文件中不起作用,因为您需要使用For变量%%G%G键入时,%%G在一个批次中。请参阅for /?