无忧启动论坛

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

作者: yyz2191958    时间: 2023-8-26 21:38
标题: 【已解决】PE下怎样用bat进行简单运算(可调用pecmd.exe calc)?谢谢
本帖最后由 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=?  【结果保留两位小数】


作者: 泮安宁    时间: 2023-8-26 22:10
既然可以调用pecmd,为啥还非要用bat,直接用pecmd不好吗
作者: yyz2191958    时间: 2023-8-26 22:12
泮安宁 发表于 2023-8-26 22:10
既然可以调用pecmd,为啥还非要用bat,直接用pecmd不好吗

bat里面还有其它要求 谢谢
作者: martin313    时间: 2023-8-26 23:11
楼主的研究项目很丰富
作者: 527104427    时间: 2023-8-26 23:14
martin313 发表于 2023-8-26 23:11
楼主的研究项目很丰富

看见你这个名字就瑟瑟发抖
作者: martin313    时间: 2023-8-27 05:34
527104427 发表于 2023-8-26 23:14
看见你这个名字就瑟瑟发抖


说的我也抖……
作者: martin313    时间: 2023-8-27 05:36
请教应用场景?
作者: yyz2191958    时间: 2023-8-27 07:41
martin313 发表于 2023-8-27 05:36
请教应用场景?

自然有需要
作者: szwp    时间: 2023-8-27 08:35
martin313 发表于 2023-8-27 05:34
说的我也抖……

抖音是这么抖出来的啊
作者: martin313    时间: 2023-8-27 09:44
szwp 发表于 2023-8-27 08:35
抖音是这么抖出来的啊

很幽默
作者: martin313    时间: 2023-8-27 10:39
527104427 发表于 2023-8-26 23:14
看见你这个名字就瑟瑟发抖

请教高手:

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

默认显示时长大概有15-18秒,想调整为5秒
作者: yc2428    时间: 2023-8-27 14:25
学习了
作者: 527104427    时间: 2023-8-27 23:15
martin313 发表于 2023-8-27 10:39
请教高手:

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


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


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

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







作者: martin313    时间: 2023-8-28 06:07
527104427 发表于 2023-8-27 23:15
1秒:
TEXT aaa
wait 1000

高手
感谢指导

我试试去
作者: martin313    时间: 2023-8-28 06:59
527104427 发表于 2023-8-27 23:15
1秒:
TEXT aaa
wait 1000

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

代码发上来看看
作者: iaanqrm    时间: 2023-8-28 09:15

作者: martin313    时间: 2023-8-28 09:16
527104427 发表于 2023-8-28 07:31
代码发上来看看

取自:【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
作者: yyz2191958    时间: 2023-8-28 09:36
martin313 发表于 2023-8-28 09:16
取自:【2023-08-24】WIN10PE 64位全功能版-基于官方22H2镜像,如下:

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

非常感谢
作者: 527104427    时间: 2023-8-28 11:51
本帖最后由 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


作者: martin313    时间: 2023-8-28 12:02
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

感谢高人指导
作者: 527104427    时间: 2023-8-28 12:03
martin313 发表于 2023-8-28 09:16
取自:【2023-08-24】WIN10PE 64位全功能版-基于官方22H2镜像,如下:

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

你这个代码没问题啊,等待5秒,然后执行下一步。
下一步从INIT后面开始,你在INIT前面插入MESS OK就知道了,5秒后就弹出OK窗口,没任何问题。
作者: martin313    时间: 2023-8-28 12:05
527104427 发表于 2023-8-28 12:03
你这个代码没问题啊,等待5秒,然后执行下一步。
下一步从INIT后面开始,你在INIT前面插入MESS OK就知道 ...

好的
晚上试试

难道是呼出ADMIN用户登陆要等待很长时间的缘故?
作者: 527104427    时间: 2023-8-28 12:07
martin313 发表于 2023-8-28 12:05
好的
晚上试试

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

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

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





作者: 527104427    时间: 2023-8-28 12:40
martin313 发表于 2023-8-28 12:28
如何调整疏通,使其不至于等那么长时间

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

你把这句的等号去掉试试。
作者: liswt    时间: 2023-8-28 12:42
收藏
作者: martin313    时间: 2023-8-28 13:59
527104427 发表于 2023-8-28 12:40
你把这句的等号去掉试试。

这个等号是什么意思?

等上面的命令执行完毕后再执行的意思?
作者: martin313    时间: 2023-8-28 19:22
本帖最后由 martin313 于 2023-8-29 10:11 编辑
527104427 发表于 2023-8-28 12:40
你把这句的等号去掉试试。

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

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

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

再次感谢指导


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

非常感谢,我研究一下
作者: martin313    时间: 2023-8-31 12:06
yyz2191958 发表于 2023-8-31 12:03
非常感谢,我研究一下

搞明白后,我就妥协了,

建议作者在“IFEX KEY=#0x53,CALL SYS_SHELL”上方,插入
WAIT 1000
TEAM TEXT|TEXT 按键提示结束!PE初始化,请稍候……#0xC0C0C0 L36 T72 $24:微软雅黑

这样安排更人性化些,其中加了WAIT延时,考虑硬件性能很强的话,可能等候时间很短,没时间按键。
我收藏的PE,就是这么设置了一下,方便操作。

作者: yyz2191958    时间: 2023-8-31 12:11
martin313 发表于 2023-8-31 12:06
搞明白后,我就妥协了,

建议作者在“IFEX KEY=#0x53,CALL SYS_SHELL”上方,插入

这些不是很明白
作者: martin313    时间: 2023-8-31 12:39
yyz2191958 发表于 2023-8-31 12:11
这些不是很明白

它的意思是,如果 S 键被按下,那么执行  SYS_SHELL  子代码段

批处理专家,别谦虚了!
作者: yyz2191958    时间: 2023-8-31 17:54
martin313 发表于 2023-8-31 12:39
它的意思是,如果 S 键被按下,那么执行  SYS_SHELL  子代码段

批处理专家,别谦虚了!

感谢解答
作者: liangzr1976    时间: 2023-9-1 09:28
http://www.52bcx.com/html/c/original/279.html
从零开始简单快乐学编程(7)--批处理数学运算 (加减乘除)

https://www.cnblogs.com/happying-farm/p/16558599.html
批处理运算操作  非运算

https://www.yiibai.com/batch_script/batch_script_operators.html
批处理运算符  (这个比较完整)

http://www.360doc.com/content/21/1014/10/541242_999699797.shtml
批处理变量的数学运算  (提了计算精度)


作者: martin313    时间: 2023-9-1 09:43
liangzr1976 发表于 2023-9-1 09:28
http://www.52bcx.com/html/c/original/279.html
从零开始简单快乐学编程(7)--批处理数学运算 (加减乘除 ...

感谢提供
学无止境
作者: yyz2191958    时间: 2023-9-1 09:46
liangzr1976 发表于 2023-9-1 09:28
http://www.52bcx.com/html/c/original/279.html
从零开始简单快乐学编程(7)--批处理数学运算 (加减乘除 ...

非常感谢
作者: wuhuayu    时间: 2023-11-19 18:28
pecmd.exe BROW wimPATH,,请指定Windows安装文件的WIM镜像路径,wim

求教这个怎么返回值怎么给cmd使用


作者: yyz2191958    时间: 2023-11-19 18:36
wuhuayu 发表于 2023-11-19 18:28
pecmd.exe BROW wimPATH,,请指定Windows安装文件的WIM镜像路径,wim

求教这个怎么返回值怎么给cmd使用

我不晓得




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3