Board logo

标题: [ZT]所有Windows通用重启批处理 [打印本页]

作者: electronixtar     时间: 2006-9-11 08:14    标题: [ZT]所有Windows通用重启批处理


@echo off
echo welcome to http://www.sometips.com
setlocal
cd/d %temp%
echo [version] > reboot.inf
set inf=InstallHinfSection DefaultInstall
echo signature=$chicago$ >> reboot.inf
echo [defaultinstall] >> reboot.inf
rundll32 setupapi,%inf% 1 %temp%\reboot.inf
del reboot.inf
来自 sometips.com,居然能想到用inf来重启电脑,绝了
作者: namejm     时间: 2006-9-11 08:36
  呵呵,确实绝,rundll32够我学好一阵子。

  按照我的惯例,拿到一段代码之后,就老琢磨着它是否有小错误,是否还可以再精简,该如何精简……我认为这段代码是有点小错误的,同时,它还可以精简,修改如下(暂时还不敢弄个重新启动来加以测试):
@echo off
echo welcome to http://www.sometips.com
cd/d "%temp%"
(echo [version]
echo signature=$chicago$
echo [defaultinstall])>reboot.inf
set inf=InstallHinfSection DefaultInstall
rundll32 setupapi,"%inf%" 1 "%temp%\reboot.inf"
del reboot.inf

作者: electronixtar     时间: 2006-9-11 09:11
我也来精简吧:
echo [version] > reboot.inf
echo signature=$chicago$ >> reboot.inf
echo [defaultinstall] >> reboot.inf
rundll32 setupapi,InstallHinfSection DefaultInstall 1 reboot.inf
del reboot.inf
[ Last edited by electronixtar on 2006-9-15 at 03:24 ]
作者: namejm     时间: 2006-9-11 09:25
  呵呵,精简出错了——连版权信息都被你精简掉了,小心作者找上门来
作者: tmt2006     时间: 2006-9-13 05:14
多谢版主,支持3楼。
作者: namejm     时间: 2006-9-13 06:01


  Quote:
Originally posted by tmt2006 at 2006-9-13 05:14:
多谢版主,支持3楼。

  这个帖子和版主扯上关系了?版主的回帖在哪里哦?
作者: utem999     时间: 2006-9-13 07:48
长见识来着
作者: tmt2006     时间: 2006-9-13 23:25


  Quote:
Originally posted by namejm at 2006-9-13 06:01:


  这个帖子和版主扯上关系了?版主的回帖在哪里哦?

说快了,应该是楼主。
作者: JonePeng     时间: 2006-9-14 10:40
所有windows版本都通杀?!真厉害!
不知 rundll32 还有没有更绝的招数?
作者: zhoushijie     时间: 2006-9-14 20:49
2 楼的运行错误

其他能正常运行。
作者: qzwqzw     时间: 2006-9-14 21:05


  Quote:
Originally posted by electronixtar at 2006-9-11 08:14:
[code]
setlocal
cd/d %temp%

有了这两句,这个批处理不可能通用的。98和ME都没有这两个命令和参数。
还有最后的del reboot.inf,很难保证能正常执行,因为那时可能已经开始重启了。
作者: 9527     时间: 2006-9-14 21:08
此帖乃千古之好贴,electronixtar 真是厉害啊,在下佩服,佩服的五体投地,身临其境,佩服的有如滔滔江水连绵不绝一发不可收拾,高,实在是高!
作者: voiL     时间: 2006-9-14 21:54
既然能重启,那是否也可以用来注销呢??
作者: electronixtar     时间: 2006-9-15 00:31
恩,其实原理时利用了inf安装的一个特性,和rundll无关
作者: xypcmac     时间: 2006-9-16 05:20
好东西
作者: wudixin96     时间: 2007-4-6 23:45
微软的系统都被肢解了。
o(∩_∩)o...哈哈。学习了
作者: everest79     时间: 2007-4-7 01:25
关机类?
作者: chenall     时间: 2007-4-7 05:41
我是2003系统的,没有一个可以重启我的系统,都是提示安装失败.
所以不能说通用.
作者: jasonwang     时间: 2007-4-9 22:22
shutdown不是更好
作者: xinhepc     时间: 2007-4-10 04:38
通用方面我没想过,2007年了,VISTA出来了,现在大多数主机都是XP的系统,我用的是:
@ echo off
echo 上次重启时间为:>> c:\rest.txt
date /t >>c:\rest.txt
time /t  >>c:\rest.txt
shutdown -r -t 0
exit

[ Last edited by xinhepc on 2007-4-9 at 03:47 PM ]
作者: 112183883     时间: 2007-4-10 13:08
我也来一个,VBS的,98没试过,2K/XP/2003都可以,代码如下:
set win32_OS=getobject("winmgmts:{(Shutdown)}//./root/cimv2").execQuery("select * from win32_operatingsystem where primary=true")
for each OS in win32_OS
    OS.win32shutdown(6)
next
set win32_OS=nothing
保存为shutdown.vbs双击便可。

[ Last edited by 112183883 on 2007-4-10 at 01:10 PM ]
作者: lxmxn     时间: 2007-4-10 13:15

不错,收藏了……

作者: kennyfan     时间: 2007-4-10 13:22
呵呵...学到好野...顶一个!
作者: picat     时间: 2007-10-24 17:33
关于windows NT系列的重启命令都存在一个问题,就是系统如果处于“锁定状态的话”,楼上的两种方法都不能成功重启,包括shutdown也不行,为这个问题这两天搜索相关资料搜的头都大了。希望有大侠找出P模式或者vbs模式的可以在锁定状态重启服务器的办法。我的测试系统是windows2000,其他的没有完全确认。
作者: 11185     时间: 2007-10-25 23:05
支持~~~~
作者: mayu2004     时间: 2007-12-22 16:34
不错  好 啊