无忧启动论坛

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

[已解决] 【已解决】PE下怎样用bat进行简单运算(可调用pecmd.exe calc)?谢谢

  [复制链接]
跳转到指定楼层
1#
发表于 2023-8-26 21:38:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yyz2191958 于 2023-8-30 07:43 编辑

完美解决了:

已解决版本1:
@echo off
::【运算:(6.52-3.25)/3=?(#2F————即结果保留两位小数)】
for /f "delims=" %%a in ('pecmd.exe "team calc c=(6.52-3.25)/3##2F^|writ -,$,%%c%%"') do ( set "得数=%%a")
echo.
echo                             ◇ 得数:%得数% ◇
pause>nul
**************************************************************************************************
已解决版本2:
@echo off
for /f "delims=" %%a in ('pecmd.exe "team calc a=(6.52-3.25)/3##2F^|writ -,$,%%a%%"') do ( set "得数=%%a")
echo.
echo                             ◇ 得数:%得数% ◇
pause>nul

**************************************************
原来的问题:
PE下怎样用bat进行简单运算(可调用pecmd.exe  calc)?谢谢

例如运算:(6.52-3.25)/3=?  【结果保留两位小数】

2#
发表于 2023-8-26 22:10:02 | 只看该作者
既然可以调用pecmd,为啥还非要用bat,直接用pecmd不好吗

点评

bat里面还有其它要求 谢谢  发表于 2023-8-26 22:12
bat里面还有其它要求 谢谢  详情 回复 发表于 2023-8-26 22:12

评分

参与人数 1无忧币 +1 收起 理由
yyz2191958 + 1 赞一个!

查看全部评分

回复

使用道具 举报

3#
 楼主| 发表于 2023-8-26 22:12:19 | 只看该作者
泮安宁 发表于 2023-8-26 22:10
既然可以调用pecmd,为啥还非要用bat,直接用pecmd不好吗

bat里面还有其它要求 谢谢
回复

使用道具 举报

4#
发表于 2023-8-26 23:11:50 | 只看该作者
楼主的研究项目很丰富

点评

看见你这个名字就瑟瑟发抖  详情 回复 发表于 2023-8-26 23:14
回复

使用道具 举报

5#
发表于 2023-8-26 23:14:23 | 只看该作者
martin313 发表于 2023-8-26 23:11
楼主的研究项目很丰富

看见你这个名字就瑟瑟发抖
回复

使用道具 举报

6#
发表于 2023-8-27 05:34:44 | 只看该作者
527104427 发表于 2023-8-26 23:14
看见你这个名字就瑟瑟发抖


说的我也抖……

点评

抖音是这么抖出来的啊  详情 回复 发表于 2023-8-27 08:35
回复

使用道具 举报

7#
发表于 2023-8-27 05:36:17 | 只看该作者
请教应用场景?

点评

自然有需要  详情 回复 发表于 2023-8-27 07:41
回复

使用道具 举报

8#
 楼主| 发表于 2023-8-27 07:41:23 | 只看该作者

自然有需要
回复

使用道具 举报

9#
发表于 2023-8-27 08:35:54 来自手机 | 只看该作者
martin313 发表于 2023-8-27 05:34
说的我也抖……

抖音是这么抖出来的啊
回复

使用道具 举报

10#
发表于 2023-8-27 09:44:54 | 只看该作者
szwp 发表于 2023-8-27 08:35
抖音是这么抖出来的啊

很幽默
回复

使用道具 举报

11#
发表于 2023-8-27 10:39:35 | 只看该作者
527104427 发表于 2023-8-26 23:14
看见你这个名字就瑟瑟发抖

请教高手:

PECMD 的text 命令,如何自定义显示时长?

默认显示时长大概有15-18秒,想调整为5秒

点评

1秒: TEXT aaa wait 1000 TEXT //清屏 2秒: TEXT bbb wait 2000 text //清屏 你想几秒就几秒,关键看两个 text 之间的命令耗时多长。  详情 回复 发表于 2023-8-27 23:15
回复

使用道具 举报

12#
发表于 2023-8-27 14:25:24 | 只看该作者
学习了
回复

使用道具 举报

13#
发表于 2023-8-27 23:15:36 | 只看该作者
martin313 发表于 2023-8-27 10:39
请教高手:

PECMD 的text 命令,如何自定义显示时长?


1秒:
TEXT aaa
wait 1000
TEXT  //清屏


2秒:
TEXT bbb
wait 2000
text  //清屏

你想几秒就几秒,关键看两个 text 之间的命令耗时多长。






回复

使用道具 举报

14#
发表于 2023-8-28 06:07:00 | 只看该作者
527104427 发表于 2023-8-27 23:15
1秒:
TEXT aaa
wait 1000

高手
感谢指导

我试试去
回复

使用道具 举报

15#
发表于 2023-8-28 06:59:32 | 只看该作者
527104427 发表于 2023-8-27 23:15
1秒:
TEXT aaa
wait 1000

测试了一下,这个效果似乎仅仅是缩短了显示时长,但执行text的时长没缩短,等待PE执行下一步的时长仍然大约是17秒

点评

代码发上来看看  详情 回复 发表于 2023-8-28 07:31
回复

使用道具 举报

16#
发表于 2023-8-28 07:31:30 | 只看该作者
martin313 发表于 2023-8-28 06:59
测试了一下,这个效果似乎仅仅是缩短了显示时长,但执行text的时长没缩短,等待PE执行下一步的时长仍然大 ...

代码发上来看看
回复

使用道具 举报

17#
发表于 2023-8-28 09:15:35 | 只看该作者
回复

使用道具 举报

18#
发表于 2023-8-28 09:16:33 | 只看该作者

取自:【2023-08-24】WIN10PE 64位全功能版-基于官方22H2镜像,如下:

TEXT 长按 S 键快速加载SYSTEM桌面#0xC0C0C0 L36 T24 $24:微软雅黑
Wait 5000
TEXT
INIT
ENVI $ AppData=X:\Users\Default\AppData\Roaming
SET SYS=FALSE

//加载系统初始化配置
FORX !\PETOOLS\SYSInit.ini,MyIni,1,LOAD %MyIni%

//启动服务
EXEC !=net start ProfSvc
EXEC !=net start gpsvc
EXEC !=net start SENS
IFEX KEY=#0x53,CALL SYS_SHELL

//PE初始化
EXEC !=%SystemRoot%\System32\wpeinit.exe

//预创建管理员账户
EXEC !="x:\Program Files\Admin\PreCreateAdminProfile.bat"

//Admin登录
FIND $FALSE=%SYS%,CALL ADMIN_SHELL

_SUB SYS_SHELL
    SET SYS=TRUE
    TEXT

    //加载初始化配置
    EXEC !=PEConfig\Run.cmd Init

    //加载Shell
    SHEL %SystemRoot%\Explorer.exe

    //加载登录后配置
    EXEC !PEConfig\Run.cmd Run

    //加载外置扩展
    EXEC !=REG DELETE HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce  /v Init /f
    LOAD %SystemRoot%\System32\LoadPEInit.ini
_END

_SUB ADMIN_SHELL
    TEXT
    EXEC !%SystemRoot%\System32\tsdiscon.exe
    EXEC !PEConfig\Run.cmd Init
_END

点评

你这个代码没问题啊,等待5秒,然后执行下一步。 下一步从INIT后面开始,你在INIT前面插入MESS OK就知道了,5秒后就弹出OK窗口,没任何问题。  详情 回复 发表于 2023-8-28 12:03
exec -incmd pecmd team TEXT 长按 S 键快速加载SYSTEM桌面#0xC0C0C0 L36 T24 $24:微软雅黑| Wait 5000| TEXTINIT ENVI $ AppData=X:%users\Default\AppData\Roaming SET SYS=FALSE //加载系统初始化配置 FORX  详情 回复 发表于 2023-8-28 11:51
非常感谢  详情 回复 发表于 2023-8-28 09:36

评分

参与人数 1无忧币 +3 收起 理由
yyz2191958 + 3 赞一个!

查看全部评分

回复

使用道具 举报

19#
 楼主| 发表于 2023-8-28 09:36:49 | 只看该作者
martin313 发表于 2023-8-28 09:16
取自:【2023-08-24】WIN10PE 64位全功能版-基于官方22H2镜像,如下:

TEXT 长按 S 键快速加载SYSTEM ...

非常感谢
回复

使用道具 举报

20#
发表于 2023-8-28 11:51:34 | 只看该作者
本帖最后由 527104427 于 2023-8-28 12:01 编辑
martin313 发表于 2023-8-28 09:16
取自:【2023-08-24】WIN10PE 64位全功能版-基于官方22H2镜像,如下:

TEXT 长按 S 键快速加载SYSTEM ...

exec -incmd pecmd team TEXT 长按 S 键快速加载SYSTEM桌面#0xC0C0C0 L36 T24 $24:微软雅黑| Wait 5000| TEXT
Wait 5000
INIT
ENVI $ AppData=X:\Users\Default\AppData\Roaming
SET SYS=FALSE

//加载系统初始化配置
FORX !\PETOOLS\SYSInit.ini,MyIni,1,LOAD %MyIni%

//启动服务
EXEC !=net start ProfSvc
EXEC !=net start gpsvc
EXEC !=net start SENS
IFEX KEY=#0x53,CALL SYS_SHELL

//PE初始化
EXEC !=%SystemRoot%\System32\wpeinit.exe

//预创建管理员账户
EXEC !="x:\Program Files\Admin\PreCreateAdminProfile.bat"

//Admin登录
FIND $FALSE=%SYS%,CALL ADMIN_SHELL

_SUB SYS_SHELL
    SET SYS=TRUE
    TEXT

    //加载初始化配置
    EXEC !=PEConfig\Run.cmd Init

    //加载Shell
    SHEL %SystemRoot%\Explorer.exe

    //加载登录后配置
    EXEC !PEConfig\Run.cmd Run

    //加载外置扩展
    EXEC !=REG DELETE HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce  /v Init /f
    LOAD %SystemRoot%\System32\LoadPEInit.ini
_END

_SUB ADMIN_SHELL
    TEXT
    EXEC !%SystemRoot%\System32\tsdiscon.exe
    EXEC !PEConfig\Run.cmd Init
_END

回复

使用道具 举报

21#
发表于 2023-8-28 12:02:28 | 只看该作者
527104427 发表于 2023-8-28 11:51
exec -incmd pecmd team TEXT 长按 S 键快速加载SYSTEM桌面#0xC0C0C0 L36 T24 $24:微软雅黑| Wait 5000|  ...

记下了,晚上回家试试
exec -incmd pecmd team TEXT 长按 S 键快速加载SYSTEM桌面#0xC0C0C0 L36 T24 $24:微软雅黑| Wait 5000| TEXT

感谢高人指导
回复

使用道具 举报

22#
发表于 2023-8-28 12:03:26 | 只看该作者
martin313 发表于 2023-8-28 09:16
取自:【2023-08-24】WIN10PE 64位全功能版-基于官方22H2镜像,如下:

TEXT 长按 S 键快速加载SYSTEM ...

你这个代码没问题啊,等待5秒,然后执行下一步。
下一步从INIT后面开始,你在INIT前面插入MESS OK就知道了,5秒后就弹出OK窗口,没任何问题。
回复

使用道具 举报

23#
发表于 2023-8-28 12:05:43 | 只看该作者
527104427 发表于 2023-8-28 12:03
你这个代码没问题啊,等待5秒,然后执行下一步。
下一步从INIT后面开始,你在INIT前面插入MESS OK就知道 ...

好的
晚上试试

难道是呼出ADMIN用户登陆要等待很长时间的缘故?

点评

是INIT后面的命令阻塞了,跟text没啥关系。  详情 回复 发表于 2023-8-28 12:07
回复

使用道具 举报

24#
发表于 2023-8-28 12:07:04 | 只看该作者

是INIT后面的命令阻塞了,跟text没啥关系。
回复

使用道具 举报

25#
发表于 2023-8-28 12:28:05 | 只看该作者
本帖最后由 martin313 于 2023-8-28 12:30 编辑
527104427 发表于 2023-8-28 12:07
是INIT后面的命令阻塞了,跟text没啥关系。

如何调整疏通,使其不至于等那么长时间

把下面的这句,调整到紧跟 INIT 后,是否会好些?
//PE初始化
EXEC !=%SystemRoot%\System32\wpeinit.exe




点评

你把这句的等号去掉试试。  详情 回复 发表于 2023-8-28 12:40
回复

使用道具 举报

26#
发表于 2023-8-28 12:40:02 | 只看该作者
martin313 发表于 2023-8-28 12:28
如何调整疏通,使其不至于等那么长时间

把下面的这句,调整到紧跟 INIT 后,是否会好些?

你把这句的等号去掉试试。
回复

使用道具 举报

27#
发表于 2023-8-28 12:42:12 | 只看该作者
收藏
回复

使用道具 举报

28#
发表于 2023-8-28 13:59:08 | 只看该作者
527104427 发表于 2023-8-28 12:40
你把这句的等号去掉试试。

这个等号是什么意思?

等上面的命令执行完毕后再执行的意思?
回复

使用道具 举报

29#
发表于 2023-8-28 19:22:22 | 只看该作者
本帖最后由 martin313 于 2023-8-29 10:11 编辑
527104427 发表于 2023-8-28 12:40
你把这句的等号去掉试试。

报告:加了一个“MESS 按键提示结束”,发现TEXT语句执行很快的,也就不到1秒的时间,然后就自动执行下面的命令了,无非是没有清屏,直到PE初始化结束后才自动清屏。

看来等待时间长的原因,不在于执行TEXT的缘故。

至于EXEC !=%SystemRoot%\System32\wpeinit.exe中去掉等号的话,据作者解释:等号去掉会加载变快,但是很多运行慢的电脑在a用户登录时会报本地域不存在的错误。

再次感谢指导

点评

非常感谢,我研究一下  详情 回复 发表于 2023-8-31 12:03
回复

使用道具 举报

30#
 楼主| 发表于 2023-8-31 12:03:51 | 只看该作者
martin313 发表于 2023-8-28 19:22
报告:加了一个“MESS 按键提示结束”,发现TEXT语句执行很快的,也就不到1秒的时间,然后就自动执行下面 ...

非常感谢,我研究一下

点评

搞明白后,我就妥协了, 建议作者在“IFEX KEY=#0x53,CALL SYS_SHELL”上方,插入 WAIT 1000 TEAM TEXT|TEXT 按键提示结束!PE初始化,请稍候……#0xC0C0C0 L36 T72 $24:微软雅黑 这样安排更人性化些,其中  详情 回复 发表于 2023-8-31 12:06
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-25 20:00

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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