标题: [求助]想用批处理实现校时
[打印本页]
作者: wangff
时间: 2008-12-11 12:48
标题: [求助]想用批处理实现校时
通过telnt
telnet stdtime.gov.hk 13
但无法获得输出的信息,那位高手帮帮.
作者: wangff
时间: 2008-12-11 13:17
只要不用第三方软件,其它方法也可以.
作者: HAT
时间: 2008-12-11 13:44
NET TIME
作 用:使计算机的时钟与另一台计算机或域的时间同步。
命令格式:net time [\\computername | /domain[:name]] [/set]
参数介绍:
<1>\\computername要检查或同步的服务器名。
<2>/domain[:name]指定要与其时间同步的域。
<3>/set使本计算机时钟与指定计算机或域的时钟同步。
作者: exzzz
时间: 2008-12-11 15:25
请教HAT
net time 可以从某个域名获得时间吗?
net time /domain:telnet stdtime.gov.hk 是没反应的。
同个局域网用ip或计算机名去同步时间还可以做到,外网的怎么同步?
作者: yishanju
时间: 2008-12-11 17:05
那就利用 VPN 连接外网的服务器。。。这样总行了吧
作者: exzzz
时间: 2008-12-11 17:09
能有几个人有VPN呢?
不如我们回到楼主的话题上,如何把 telnet ....的信息截留下来呢??
[
Last edited by exzzz on 2008-12-11 at 17:10 ]
作者: qzwqzw
时间: 2008-12-11 18:07
欢迎使用 Microsoft Telnet Client
Escape 字符是 'CTRL+]'
Microsoft Telnet> set ?
bsasdel Backspace 键作为删除
crlf 新行模式 - 引起 return 键发送 CR 和 LF
delasbs 发送 Delete 键作为退格
escape x x 是进入 telnet 客户端提示的 escape 字符
localecho 打开 localecho
logfile x x 是当前客户的日志文件
logging 打开 logging
mode x x 是控制台或流
ntlm 打开 NTLM 身份验证
term x x 是 ansi、vt100、vt52 或 vtnt
Microsoft Telnet>
作者: yishanju
时间: 2008-12-11 20:24
start telnet stdtime.gov.hk 13 -f test.txt
ping 127.0.01
taskkill /im telnet.exe
TEST.TXT 会保存有输出信息
[
Last edited by yishanju on 2008-12-12 at 11:26 ]
作者: yishanju
时间: 2008-12-11 20:25
C:\Documents and Settings\haige\桌面>telnet /?
telnet [-a][-e escape char][-f log file][-l user][-t term][host [port]]
-a 企图自动登录。除了用当前已登陆的用户名以外,与 -l 选项相同。
-e 跳过字符来进入 telnet 客户提示。
-f 客户端登录的文件名
-l 指定远程系统上登录用的用户名称。
要求远程系统支持 TELNET ENVIRON 选项。
-t 指定终端类型。
支持的终端类型仅是: vt100, vt52, ansi 和 vtnt。
host 指定要连接的远程计算机的主机名或 IP 地址。
port 指定端口号或服务名。
作者: wangff
时间: 2008-12-11 21:24
输出是有了,但还有一个任意键无法输入,telnet无法结束则无法自动往下执行设置时间.
还有:屏上的信息无法关闭也是一个问题...
作者: yishanju
时间: 2008-12-12 10:50
拐不过弯了
。。。
用START 可以了吧
START telnet stdtime.gov.hk 13 -f test.txt
作者: yishanju
时间: 2008-12-12 10:51
运行完TELNET直接结束进程
作者: exzzz
时间: 2008-12-12 10:56
楼上的,我试过了,不行啊。
taskkill之后,telnet无输出内容。。。
可能是telnet必须在Q之后才能保存log吧。
作者: yishanju
时间: 2008-12-12 11:06
是你逼我的,,
我出绝招
START telnet stdtime.gov.hk 13 -f %cd%\test.txt
作者: yishanju
时间: 2008-12-12 11:08
START telnet stdtime.gov.hk 13 -f c:\test.txt
这样总会了吧
作者: exzzz
时间: 2008-12-12 11:17
吐血了,楼上的,你自己试一下嘛。
START telnet stdtime.gov.hk 13 -f c:\test.txt
之后,有一个黑色的telnet窗口挂在那里,必须点一下鼠标或按一下键盘才能消失。窗口消失后,test.txt里面才会有内容,无法实现全自动啊!
作者: yishanju
时间: 2008-12-12 11:19
...我没在批处理试。
完
作者: yishanju
时间: 2008-12-12 11:21
需要加延时才行好像
作者: yishanju
时间: 2008-12-12 11:22
得加延时才可以
作者: wangff
时间: 2008-12-12 15:10
众兄弟,还沒对策?...
作者: qzwqzw
时间: 2008-12-12 16:51
@echo off
start /b telnet -f time.log stdtime.gov.hk 13
ping -n 2 127.1>nul
taskkill /fi "windowtitle eq Telnet*"
作者: yishanju
时间: 2008-12-12 17:18
最终的代码楼主应该可以自己完成了吧
不过因为TELNET之后加了延时,得到的时间精度下降了
作者: qzwqzw
时间: 2008-12-12 18:15
一般使用
net time /sntp:时间服务器地址
net time /set
作者: yishanju
时间: 2008-12-12 18:50
w32tm
有兴趣的研究看看
作者: wangff
时间: 2008-12-14 22:25
@echo off
:loop
start /b telnet -f time.log stdtime.gov.hk 13
ping -n 2 127.1>nul
set/p aa=<time.log
for /f "tokens=4" %%i in ("%aa%") do set aa=%%i
cls&time %aa%
echo time %aa%
ping -n 6 127.1>nul
(
echo e100 B9 61 1E B4 05 CD 16 CD 20
echo rcx
echo 9
echo nn.com
echo w
echo q
)>123.txt
debug<123.txt >nul
n
goto loop