|
HUNRYBECKY
银牌会员
积分 1179
发帖 442
注册 2006-9-9
状态 离线
|
『楼 主』:
[求助奇怪问题]START调用内部命令时如何实现延迟
start启动其他程序时加/W参数有效,调用内部命令时却失效了?这是为什么?
我查看了以前的很多帖子都没有提到过START调用命令的延迟,只有调用其他程序的延迟。
@echo off
rem 为了解决使用EMULE下载后自动关机会损坏下载的问题,编写此脚本。思路如下:
START /W shutdown -s -t 200
START /W shutdown -a
START XCOPY /S/C/H/R/Y rpl\*.* d:\
shutdown -s -t 100
@echo on 上面代码中如何让START在执行shutdown -s -t 200后等待200S完成后继续执行shutdown -a再等待完成后在继续执行START /W XCOPY /S/C/H/R/Y rpl\*.* d:\,复制完成后再执行shutdown -s -t 100
说明:虽然可以把每个内部命令写一个BAT文件来实现,但是命令很多就很麻烦,如何解决这个问题?是不是START对内部命令真的无能为力?
[ Last edited by HUNRYBECKY on 2006-12-30 at 11:55 PM ]
|
|
2006-12-30 23:17 |
|
|
HUNRYBECKY
银牌会员
积分 1179
发帖 442
注册 2006-9-9
状态 离线
|
『第
2 楼』:
虽然使用start比较难实现内部命令的延迟,但是可以使用SLEEP来实现,下面的效果非常好,贴出来大家参考下,这下子就不用再为EMULE的坏毛病发愁了。
@echo off
rem 解决使用EMULE下载后自动关机会损坏下载的问题,编写此脚本.
SET /P STIME=多长时间后关机?输入时间加小写的h,m或s即可,如1h表示一小时:
SLEEP %STIME%
ECHO 正在备份文件,请等待.......
if not exist d:\rpl\ md d:\rpl
XCOPY /S/C/H/R/Y d:\emule\temp\*.bak d:\rpl\
shutdown -s -t 100
@echo on
EXIT
|
|
2006-12-31 00:02 |
|
|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
3 楼』:
延迟不会用 ping 来实现么?
|
|
2006-12-31 01:01 |
|
|
hxuan999
中级用户
DOS之日
积分 337
发帖 161
注册 2006-11-4
状态 离线
|
『第
4 楼』:
START 其实在运行程序时,如果运行的是内部CMD命令或是批文件的化,默认是以CMD /K来调用的,/K也是就运行程序保留窗口,这样就可以达到延迟.但是还有问题,那就是,如果运行的内容CMD命令是32位的GUI程序的化,CMD不等应用程序终止就返回的命令提示.如果是在CMD命令行执行,则不运行.所以SHUTDOWN就直接返回了.好象是这果并没有用/K来调用.
你可以用START /W CMD /K SHUTDOWN -S -T 100 来试一下.
这里其实直接用CMD就可以了.
|
for /f %%h in (`echo hxuan`) do for /f %%x in (`echo hxuan`) do if %%h==%%x nul |
|
2006-12-31 01:47 |
|
|
HUNRYBECKY
银牌会员
积分 1179
发帖 442
注册 2006-9-9
状态 离线
|
『第
5 楼』:
Quote: | Originally posted by hxuan999 at 2006-12-31 01:47:
START 其实在运行程序时,如果运行的是内部CMD命令或是批文件的化,默认是以CMD /K来调用的,/K也是就运行程序保留窗口,这样就可以达到延迟.但是还有问頮.. |
|
谢谢兄的回答,不过你给的还是不行。
|
|
2007-1-3 08:32 |
|
|
HUNRYBECKY
银牌会员
积分 1179
发帖 442
注册 2006-9-9
状态 离线
|
『第
6 楼』:
Quote: | Originally posted by lxmxn at 2006-12-31 01:01:
延迟不会用 ping 来实现么? |
|
我说的延迟不是兄说的延迟。
我的意思是调用一些内部命令尤其是有图形界面时如何延迟。
如START /W shutdown -s -t 200命令 我想等待那个关机的窗口关闭时完成时再执行另一个命令,哈哈,你试下,比较难吧。
|
|
2007-1-3 08:35 |
|