标题: [文件操作] 批处理命令at任务计划 如何输出带空格的注册表键值?[已解决] [打印本页]
作者: newfish 时间: 2015-3-28 18:44 标题: 批处理命令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“
但是还是失败。。。。
求大神指导
作者: apang 时间: 2015-3-28 20:16
- 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 键值内容
作者: newfish 时间: 2015-3-28 21:36
回复 2# apang
大哥.我按照你的方法..也是没有内容的...
作者: DAIC 时间: 2015-3-28 21:55
回复 3# newfish
你是在命令行窗口里面直接执行的at命令,还是把它保存成bat文件再执行的?
通过两种方式执行之后,到控制面板的计划任务里面看看是否有所不同。
作者: newfish 时间: 2015-3-28 22:10
回复 4# DAIC
现在是不出结果...... at 得不到结果....得不到值....
作者: DAIC 时间: 2015-3-28 22:16
回复 5# newfish
你是在命令行窗口里面直接执行的at命令,还是把它保存成bat文件再执行的?
作者: newfish 时间: 2015-3-28 22:16
回复 6# DAIC
cmd 下
作者: DAIC 时间: 2015-3-28 22:19
回复 7# newfish
1、在CMD里面执行at命令
2、到控制面板的任务计划里面看看它创建出来的具体命令是什么
3、把at命令保存为test.bat并双击执行
4、到控制面板的任务计划里面看看它创建出来的具体命令是什么
2和4看到的结果可能会不同,分别发出来看看。
作者: apang 时间: 2015-3-28 22:27
你是想输出当前用户的注册表键值,但是at计划任务输出的是system用户的注册表键值
HKEY_USERS\S-1-5-18\Software\Microsoft\Terminal Server Client\Default 不存在,所以1.txt为内容空
放弃at,用schtasks才是正道- 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 登录密码
复制代码
作者: newfish 时间: 2015-3-28 22:52
感谢.....非常....可以结贴 ; 了
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |