cmd命令中关机问题的设置

来源:百度知道 编辑:UC知道 时间:2024/07/08 05:37:58
我想在电脑开机后,自动运行(如何自动运行我明白)一个批处理文件:在38000-45000中取个随机数,然后在这个随机数秒后关机。
命令我知道shutdown -s -t 随机数 ,我就是想知道如何设置这个变量并取值,如果能将整个批处理文件写好就更好了。谢谢。
按照楼下的几位说法,我改进了下。
set /a t=%random%%7000+38000
shutdown -s -t %t%
可实际执行起来。。关机对话框弹出来后,显示关机还有231天相当于t=19958400,可是t的取值不是在38000-45000之间么。这是为什么呢??

shutdown -s -t(-t是秒数),这是在“运行”里面运行的。
关机前,会出现对话框问你是否关机,你不要管。也说明你设置成功了。

但是我以前用是有时候行有时候又不行。很奇怪。

破处理中的随机数是%random% ,但是他的取值范围是0-32767
调用的话
这样子
shutdown /s /t %random%
但是如果要再38000-45000之间,
算法不好算额
%random%%范围大小+底数

比如要100-149的范围

那范围就是50 底数就是100

%random%%%50+100 就是这个范围的数

PS:在批处理中使用时注意 % 的使用

% 的意思是取模(通裕说就是取余数的意思)

类似这样的比较容易实现..

按照如下指令可以计算出一个在38000-45000之间的随机数,但shutdown命令不能接收这个参数,郁闷……
--------------------------------------------
@echo off
title 随机关机
echo.
echo 正在计算
:Recalc
set /a t=2*%random%>nul
if /i %t% LEQ 38000 goto Recalc
if /i %t% GEQ 45000 goto Recalc
echo 随机时间为:%t%
echo.
shutdown /s /t %t%
pause>nul
--------------------------------------------

楼主怎么会想起在批处理里搞这些,如果是用C#写个小程序,实现这样的功能,那就简单多了,不超过10行代码就能搞定。