在批处理文件中运行时命令失败

时间:2016-03-08 21:53:49

标签: batch-file command-line scripting registry

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

      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>它不会执行。我很久以前就遇到过这个问题,但忘了我是怎么过的。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

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

您的代码无法在批处理文件中运行,因为您需要使用For个变量%%G。键入时%G,批量%%G。请参阅for /?