标题: [文本处理] [已解决]生成的bat拥有延迟执行的效果 [打印本页]
作者: 小文 时间: 2014-12-31 12:21 标题: [已解决]生成的bat拥有延迟执行的效果
本帖最后由 小文 于 2015-2-15 19:38 编辑
- set a="@echo off"
- set b="ping 127.0.0.1 -n 5000>unl"
- set c="pause"
- echo %a% %b% %c%>null.bat
- pause
复制代码
我在网上找了三四种bat延迟执行的方法,但它们都只能在转行的情况下执行,如【ping 127.0.0.1 -n 5000>unl】、【for /l %%i in (0,1,10000) do echo %%i>nul】。
【dir c:\ & timeout /t 10 & dir d:\ 】可在本行执行,但无法通过直接输出到生成的文件(而是在“变量中就直接执行了”)、- :: Sleep.bat - Sleep/Delay/Wait n seconds:: Herbert Kleebauer(Germany) - 2005/05/29
- :: Modified by Will Sort - 2005/06/02
- @echo off
- echo q | debug>nul
- echo Bj@jzh`0X-`/PPPPPPa(DE(DM(DO(Dh(Ls(Lu(LX(LeZRR]EEEUYRX2Dx=>sleep.com
- echo 0DxFP,0Xx.t0P,=XtGsB4o@$?PIyU WwX0GwUY Wv;ovBX2Gv0ExGIuht6>>sleep.com
- echo T}{z~~@GwkBG@OEKcUt`~}@MqqBsy?seHB~_Phxr?@zAB`LrPEyoDt@Cj?>>sleep.com
- echo pky_jN@QEKpEt@ij?jySjN@REKpEt@jj?jyGjN@SEKkjtlGuNw?p@pjirz>>sleep.com
- echo LFvAURQ?OYLTQ@@?~QCoOL~RDU@?aU?@{QOq?@}IKuNWpe~FpeQFwH?Vkk>>sleep.com
- echo _GSqoCvH{OjeOSeIQRmA@KnEFB?p??mcjNne~B?M??QhetLBgBPHexh@e=>>sleep.com
- echo EsOgwTLbLK?sFU`?LDOD@@K@xO?SUudA?_FKJ@N?KD@?UA??O}HCQOQ??R>>sleep.com
- echo _OQOL?CLA?CEU?_FU?UAQ?UBD?LOC?ORO?UOL?UOD?OOI?UgL?LOR@YUO?>>sleep.com
- echo dsmSQswDOR[BQAQ?LUA?_L_oUNUScLOOuLOODUO?UOE@OwH?UOQ?DJTSDM>>sleep.com
- echo QTqrK@kcmSULkPcLOOuLOOFUO?hwDTqOsTdbnTQrrDsdFTlnBTm`lThKcT>>sleep.com
- echo @dmTkRQSoddTT~?K?OCOQp?o??Gds?wOw?PGAtaCHQvNntQv_w?A?it\EH>>sleep.com
- echo {zpQpKGk?Jbs?FqokOH{T?jPvP@IQBDFAN?OHROL?Kj??pd~aN?OHROd?G>>sleep.com
- echo Q??PGT~B??OC~?ipO?T?~U?p~cUo0x>>sleep.com
- sleep.com>sleep.exe
- del sleep.com
- echo wait 2 seconds:
- sleep.exe 2000
复制代码
我就不知道了……
需要讨论的有:输出后能延迟执行(也可通过加引号完整输出,再删除生成的引号,但有没有更好的办法呢?);
输出后的换行问题(我大概在网上查了下,本问题貌似不好解决)。
作者: pcl_test 时间: 2014-12-31 12:57
回复 1# 小文
方法一- @echo off
- echo @echo off>>B.bat
- echo for /l %%%%i in (5,-1,0) do (>>B.bat
- echo cls>>B.bat
- echo echo 倒数%%%%i秒后自动打开记事本!请稍等。。。>>B.bat
- echo ping -n 2 127.1 ^>nul>>B.bat
- echo )>>B.bat
- echo start notepad>>B.bat
- start B.bat
复制代码
方法二
结合任务计划服务
作者: 小文 时间: 2014-12-31 13:22
回复 2# pcl_test
可行,感谢朋友万忙中的参与。为什么你搞的就能完整输出呢?我都看不懂,也不好全都问你,你能不能说一点其中的一个符号的:【echo ping -n 2 127.1 ^>nul>>B.bat】里面的【^】这个符号有什么作用?
作者: Batcher 时间: 2014-12-31 13:46
回复 3# 小文
^ 是转义符号
由于 > 是特殊字符,如果你想把它写入文件的话,需要使用 ^ 进行转义。
更多内容请参考:
http://bbs.bathome.net/viewthread.php?tid=1205#pid25363
http://bbs.bathome.net/thread-1205-1-1.html
作者: pcl_test 时间: 2014-12-31 13:51
回复 pcl_test
可行,感谢朋友万忙中的参与。为什么你搞的就能完整输出呢?我都看不懂,也不好全 ...
小文 发表于 2014-12-31 13:22
>是重定向命令,将命令输出写入到文件或设备,echo ping -n 2 127.1 ^>nul>>B.bat如果不加^转义符,就会变成执行echo、>、>>三个命令,^的作用就是把>变成普通字符
作者: 小文 时间: 2015-1-2 16:47
回复 4# Batcher
学到了,谢谢师傅!
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |