[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理命令at任务计划 如何输出带空格的注册表键值?[已解决]

本帖最后由 newfish 于 2015-3-28 22:52 编辑

我想at计划任务  输出 reg query “HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default” 的结果到d盘
我尝试了各种办法。。。我已经无解了。。

难点在哪呢?
在注册表值的空格"Terminal Server Client"。导致必须加引号。**。
我尝试
at 5:16 cmd /c "echo reg query """HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default"""^>d:\1.txt>d:\123.bat&d:\123.bat

虽然想的很美好。线echo 到bat。再执行bat。但是 bat虽然执行了。。1.txt里面却是空的。
我又尝试。
at 5:16 cmd /c "echo reg export """HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default""" d:\123.reg“
但是还是失败。。。。

求大神指导

  1. at 5:16 cmd /c reg query \"HKCU\Software\Microsoft\Terminal Server Client\Default\"^>d:\1.txt
复制代码
at计划任务是以system账户身份运行的,也就是实际输出的是HKEY_USERS\S-1-5-18\Software\Microsoft\Terminal Server Client\Default 键值内容

TOP

回复 2# apang


   

大哥.我按照你的方法..也是没有内容的...

TOP

回复 3# newfish


你是在命令行窗口里面直接执行的at命令,还是把它保存成bat文件再执行的?
通过两种方式执行之后,到控制面板的计划任务里面看看是否有所不同。

TOP

回复 4# DAIC


    现在是不出结果...... at 得不到结果....得不到值....

TOP

回复 5# newfish


    你是在命令行窗口里面直接执行的at命令,还是把它保存成bat文件再执行的?

TOP

回复 6# DAIC


    cmd 下

TOP

回复 7# newfish


1、在CMD里面执行at命令
2、到控制面板的任务计划里面看看它创建出来的具体命令是什么
3、把at命令保存为test.bat并双击执行
4、到控制面板的任务计划里面看看它创建出来的具体命令是什么

2和4看到的结果可能会不同,分别发出来看看。

TOP

你是想输出当前用户的注册表键值,但是at计划任务输出的是system用户的注册表键值

HKEY_USERS\S-1-5-18\Software\Microsoft\Terminal Server Client\Default 不存在,所以1.txt为内容空

放弃at,用schtasks才是正道
  1. schtasks /create /tn Test /tr "cmd /c reg query \"HKCU\Software\Microsoft\Terminal Server Client\Default\">d:\1.txt" /st 5:16 /sc once /ru 登录名 /rp 登录密码
复制代码

TOP

感谢.....非常....可以结贴 ; 了

TOP

返回列表