无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 4078|回复: 6
打印 上一主题 下一主题

[已解决] 在无网络的PE里面能够正常执行的延时的批处理该咋写?

[复制链接]
跳转到指定楼层
1#
发表于 2017-12-27 10:05:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 有阴也有阳 于 2017-12-27 11:34 编辑

        在无网络的PE里面能够正常执行的延时的批处理该咋写?试了一下,以下几条都不行:

        1:

choice /t 15 /d y /n >nul

        2:

ping 127.0.0.1 -n 15 >nul(无网络,这一条自然不行。)

        3:

echo wscript.sleep 5000>sleep.vbs

start /wait sleep.vbs

start "" ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}

del /f /s /q sleep.vbs

        谢谢!!!


        承蒙坏坏小生大师热心指点,已经解决:

        挂载ESP分区1bat:

@echo off
echo;
echo;    正在挂载ESP分区……
FOR /F "usebackq tokens=2 delims= " %%i in (` echo list disk ^|diskpart ^| find "磁盘" `) do (
        echo select disk=%%i>%temp%\t.txt
        echo list partition>>%temp%\t.txt
        FOR /F "usebackq tokens=2 delims= " %%j in (` diskpart /s %temp%\t.txt ^| find "系统" `) do (
                echo select disk=%%i>%temp%\t.txt
                echo select partition=%%j>>%temp%\t.txt
                echo assign>>%temp%\t.txt
                diskpart /s %temp%\t.txt>nul
        ) )
FOR /F "usebackq tokens=3 delims= " %%i in (` echo list vol ^|diskpart ^| find "系统" `) do (
         echo %%i
         )
echo;
echo;    按下任意键先弹出Diskgeniu-s窗口查看,延时10秒后再自动弹出计算机窗口查看。
echo;
pause
@if not exist "%programw6432%" (call 运行U盘里32位的DG分区.bat) else call 运行U盘里64位的DG分区.bat
start /wait pecmd.exe CALL $Kernel32.dll,Sleep,#18000
start "" ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}
exit

        实际延时是18秒,因为Diskgeniu-s窗口的弹出有些慢,具体时间可以根据自己的情况进行调整。

        注意:PECMD.EXE要与“挂载ESP分区1bat”在同一目录下:






2#
发表于 2017-12-27 10:46:42 | 只看该作者
本帖最后由 坏坏小生 于 2017-12-27 10:51 编辑

start /wait pecmd.exe CALL $Kernel32.dll,Sleep,#5000


以上例子是延时5000毫秒,也就是5秒,如果你没有用到PECMD,哪就爱莫能助了

评分

参与人数 1无忧币 +5 收起 理由
有阴也有阳 + 5 谢谢!!!

查看全部评分

回复

使用道具 举报

3#
发表于 2017-12-27 11:12:43 | 只看该作者
最近你跟批处理干上了,,,
回复

使用道具 举报

4#
发表于 2017-12-28 00:51:59 | 只看该作者
本帖最后由 comzhongwy 于 2017-12-28 01:27 编辑

echo 暂停 3 秒
echo WScript.Sleep 3000>vbs.vbs& start /wait "" wscript vbs.vbs& del /s /q /f vbs.vbs>nul

echo 暂停 3 秒
set "vbf=%temp%\vbs.vbs"
echo WScript.Sleep 3000>%vbf%& start /wait "" wscript %vbf%
del /s /q /f %vbf%>nul& set "vbf="
回复

使用道具 举报

5#
发表于 2017-12-29 13:39:46 | 只看该作者
这个最简单,延时3000毫秒:

pecmd wait 3000


评分

参与人数 1无忧币 +5 收起 理由
有阴也有阳 + 5 谢谢!!!

查看全部评分

回复

使用道具 举报

6#
发表于 2018-1-10 21:40:41 | 只看该作者
timeout 5 /nobreak >nul
随便复制一个到PE里就可以了。

点评

谢谢热心指点!!![attachimg]365519[/attachimg]  详情 回复 发表于 2018-1-10 21:43

评分

参与人数 1无忧币 +5 收起 理由
有阴也有阳 + 5 谢谢!!!

查看全部评分

回复

使用道具 举报

7#
 楼主| 发表于 2018-1-10 21:43:33 | 只看该作者
icevan 发表于 2018-1-10 21:40
timeout 5 /nobreak >nul
随便复制一个到PE里就可以了。

谢谢热心指点!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-27 08:04

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表