无忧启动论坛

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

[更新376#2825]PECMD2012.1.80.13_Win32_64.多窗口多线程.裸机系统2.3.3.1+18M酷M...

    [复制链接]
16561#
 楼主| 发表于 2022-3-30 19:44:12 | 只看该作者
泮安宁 发表于 2022-3-30 16:49
多行文本编辑框可以指定在哪一行写入吗,LOOP循环的时候,用ENVI在编辑框写入内容,每次循环都是在第一行写 ...


SET  &V=%MEMO1%
WRIT *v  &V,+2,XXXX
ENVI @MEMO1=%&V%

点评

好的  详情 回复 发表于 2022-3-30 20:43
回复

使用道具 举报

16562#
发表于 2022-3-30 20:43:38 | 只看该作者
mdyblog 发表于 2022-3-30 19:44
SET  &V=%MEMO1%
WRIT *v  &V,+2,XXXX
ENVI @MEMO1=%&V%

好的
回复

使用道具 举报

16563#
发表于 2022-3-31 16:15:19 | 只看该作者

感谢楼主分享
回复

使用道具 举报

16564#
发表于 2022-3-31 16:46:09 | 只看该作者
本帖最后由 泮安宁 于 2022-3-31 16:59 编辑

代码1
  1. _SUB CCC
  2.     READ "D:\1.txt",%n%,content  
  3.     FIND $%content%<>,{
  4.     FDIR Dir=%content%
  5.     MDIR "%Dir%"  
  6.     FILE "D:\3\%content%"=>"%&CurDir%\%content%"   
  7.     }
  8.     CALC n=%n%+1     
  9. _END
  10.     READ "D:\1.txt",-1,m     
  11.     SET n=1
  12.     LOOP %n%<=%m%,CALL CCC
  13.     MESS 复制完成
复制代码
代码2
  1. FILE D:\3\Windows\System32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\LanguageFeatures-WordBreaking-zh-hans-Package~31bf3856ad364e35~amd64~~10.0.*.*.cat=>D:\winpe
复制代码
请教M大,为什么代码1不支持通配符,而代码2支持通配符呢,代码1循环的时候带通配符的文件全部复制失败,不带通配符的文件可以复制成功,然后用代码2测试了一下带通配符的文件,却可以复制成功
看帮助说目录不能有通配符,但FDIR返回的路径是不带通配符的

点评

另外 不用1行1行地读。 全读进来,再FORX *NL 自动1行1行处理。 READ "D:\1.txt",*r,&&all FORX *NL &all,&&content, { FIND *&content=, EXIT - FDIR &&Dir=%&content% PATH "%&Dir%" FILE "D  详情 回复 发表于 2022-4-1 11:34
FILE "D:\3\%content%"=>"%&CurDir%\%content%" --- FILE SRC=>DST DST 总是 不能带统配符号 只有 DST为一 目录 时, SRC才可带通配符。  详情 回复 发表于 2022-3-31 23:35
代码1,重现问题都完整文件都打包上传。  详情 回复 发表于 2022-3-31 17:04
回复

使用道具 举报

16565#
发表于 2022-3-31 17:04:31 | 只看该作者
泮安宁 发表于 2022-3-31 16:46
代码1
代码2
请教M大,为什么代码1不支持通配符,而代码2支持通配符呢,代码1循环的时候带通配符的文件全 ...

代码1,重现问题的完整文件都打包上传。
回复

使用道具 举报

16566#
发表于 2022-3-31 17:15:34 | 只看该作者
红毛樱木 发表于 2022-3-31 17:04
代码1,重现问题的完整文件都打包上传。

Desktop.7z (16.79 KB, 下载次数: 12)


回复

使用道具 举报

16567#
 楼主| 发表于 2022-3-31 23:35:34 | 只看该作者
本帖最后由 mdyblog 于 2022-3-31 23:50 编辑
泮安宁 发表于 2022-3-31 16:46
代码1
代码2
请教M大,为什么代码1不支持通配符,而代码2支持通配符呢,代码1循环的时候带通配符的文件全 ...

FILE "D:\3\%content%"=>"%&CurDir%\%content%"

---
FILE SRC=>DST
DST 总是 不能带统配符号
只有 DST为一  目录 时, SRC才可带通配符。匹配的多个源  都拷贝到给子目录下。

FILE "D:\3\%content%"=>"%&CurDir%\%content%"
改为:

FORX  $D:\3\%content%,&&f,,
{  FDIR &sd=%&f%                //源目录
   MSTR &sdx=6,0,%&sd%
   FDIR &fd=%&CurDir%\%sdx%    //子目录
   PATH %&fd%                               //创建子目录
   FILE "%&f%"=>"%&fd%"
}

如果确认不带子目录切都不是目录
FORX  $D:\3\%content%,&&f,,
{  MSTR &fx=6,0,%&f%
   FILE "%&f%"=>"%&CurDir%\%&fx%"   //文件拷贝
}

点评

谢谢M大,经过你提示我发现我变量搞错了,改了变量就好了,不过又学到了一招用FORX  详情 回复 发表于 2022-4-1 00:05
回复

使用道具 举报

16568#
发表于 2022-4-1 00:05:31 | 只看该作者
mdyblog 发表于 2022-3-31 23:35
FILE "D:\3\%content%"=>"%&CurDir%\%content%"

---

谢谢M大,经过你提示我发现我变量搞错了,改了变量就好了,不过又学到了一招用FORX
回复

使用道具 举报

16569#
 楼主| 发表于 2022-4-1 11:34:20 | 只看该作者
泮安宁 发表于 2022-3-31 16:46
代码1
代码2
请教M大,为什么代码1不支持通配符,而代码2支持通配符呢,代码1循环的时候带通配符的文件全 ...

另外
不用1行1行地读。
全读进来,再FORX *NL 自动1行1行处理。
READ "D:\1.txt",*r,&&all
FORX *NL &all,&&content,
{
  FIND *&content=, EXIT -  //跳过空行
  FDIR  &&Dir=%&content%
  PATH  "%&Dir%"  
  FILE "D:\3\%&content%"=>"%&CurDir%\%&content%"   
}

点评

那一次全读进来的话,进度条不知道该怎么处理了  详情 回复 发表于 2022-4-1 12:57
回复

使用道具 举报

16570#
发表于 2022-4-1 12:57:11 | 只看该作者
mdyblog 发表于 2022-4-1 11:34
另外
不用1行1行地读。
全读进来,再FORX *NL 自动1行1行处理。

那一次全读进来的话,进度条不知道该怎么处理了

点评

一样 的。 进度提示 在 FORX *NL 下面的 {}中 REDA *r本身的时间几乎为0 ,不用考虑。 只用考虑 FORX *NL {}  详情 回复 发表于 2022-4-1 14:29
回复

使用道具 举报

16571#
 楼主| 发表于 2022-4-1 14:29:58 | 只看该作者
泮安宁 发表于 2022-4-1 12:57
那一次全读进来的话,进度条不知道该怎么处理了

一样 的。
进度提示 在
FORX  *NL 下面的 {}中

READ *r本身的时间几乎为0 ,不用考虑。 只用考虑 FORX  *NL {}

点评

谢谢m大,刚刚整明白了  详情 回复 发表于 2022-4-1 14:37
回复

使用道具 举报

16572#
发表于 2022-4-1 14:37:57 | 只看该作者
mdyblog 发表于 2022-4-1 14:29
一样 的。
进度提示 在
FORX  *NL 下面的 {}中

谢谢m大,刚刚整明白了,其实FORX *NL本身就是个循环,对吧

点评

对  详情 回复 发表于 2022-4-1 16:32
回复

使用道具 举报

16573#
 楼主| 发表于 2022-4-1 16:32:16 | 只看该作者
泮安宁 发表于 2022-4-1 14:37
谢谢m大,刚刚整明白了,其实FORX *NL本身就是个循环,对吧

回复

使用道具 举报

16574#
发表于 2022-4-2 04:46:34 | 只看该作者
  1. SET a=1
  2. IFEX [ $%a%=2 | $%a%=3 ],{
  3. FIND $%a%=2,MESS A! MESS B
  4. }! MESS C
复制代码
这样写为什么不行呢

点评

SET a=1 IFEX [ $%a%=2 | $%a%=3 ],{ FIND $%a%=2,MESS A! MESS B }!{ MESS C }  详情 回复 发表于 2022-4-2 07:27
回复

使用道具 举报

16575#
 楼主| 发表于 2022-4-2 07:27:38 | 只看该作者
泮安宁 发表于 2022-4-2 04:46
这样写为什么不行呢

SET a=1
IFEX [ $%a%=2 | $%a%=3 ],{
FIND $%a%=2,MESS A! MESS B
}!{ MESS C
}

点评

好的  详情 回复 发表于 2022-4-2 10:30
回复

使用道具 举报

16576#
发表于 2022-4-2 10:30:56 | 只看该作者
mdyblog 发表于 2022-4-2 07:27
SET a=1
IFEX [ $%a%=2 | $%a%=3 ],{
FIND $%a%=2,MESS A! MESS B

好的
回复

使用道具 举报

16577#
发表于 2022-4-2 18:50:51 | 只看该作者
LINK !%Desktop%\55,%CurDir%\per.cmd,,%CurDir%\1.ico   ///为啥不能隐藏运行 非要写成下面这样

LINK %Desktop%\55,PECMD.EXE,EXEC =!%CurDir%\per.cmd,%CurDir%\1.ico




点评

需要系统本身支持。 XP支持: [attachimg]499002[/attachimg]  详情 回复 发表于 2022-4-3 00:30
回复

使用道具 举报

16578#
发表于 2022-4-2 21:38:06 | 只看该作者
有没有办法把变量的内容保存到文本文件,例如DIR获取的文件列表

点评

WRIT *c *fv C:\X.TXT,1,&Var  详情 回复 发表于 2022-4-3 00:36
WRIT  发表于 2022-4-2 23:00
回复

使用道具 举报

16579#
 楼主| 发表于 2022-4-3 00:30:33 | 只看该作者
2012胡言乱语 发表于 2022-4-2 18:50
LINK !%Desktop%\55,%CurDir%\per.cmd,,%CurDir%\1.ico   ///为啥不能隐藏运行 非要写成下面这样

LINK % ...

需要系统本身支持。
XP支持:

回复

使用道具 举报

16580#
 楼主| 发表于 2022-4-3 00:36:34 | 只看该作者
泮安宁 发表于 2022-4-2 21:38
有没有办法把变量的内容保存到文本文件,例如DIR获取的文件列表

WRIT  *c  *fv  C:\X.TXT,1,&Var
WRIT  *c    C:\X.TXT,$1,%&Var%


点评

请教一下 ,挂载ISO时,下面返回值的含义是什么?可否算出具体挂载到哪个盘符了? moun-vhd -r %&isofile%,,,&retvhd,&&h MESS %&h% / [%&retvhd%] / 1111 //0x23C / [-1 -2 ] / 1111  详情 回复 发表于 2022-4-3 12:39
好的  详情 回复 发表于 2022-4-3 00:50
回复

使用道具 举报

16581#
发表于 2022-4-3 00:50:44 | 只看该作者
mdyblog 发表于 2022-4-3 00:36
WRIT  *c  *fv  C:\X.TXT,1,&Var
WRIT  *c    C:\X.TXT,$1,%&Var%

好的
回复

使用道具 举报

16582#
发表于 2022-4-3 12:39:09 | 只看该作者
mdyblog 发表于 2022-4-3 00:36
WRIT  *c  *fv  C:\X.TXT,1,&Var
WRIT  *c    C:\X.TXT,$1,%&Var%


请教一下 ,挂载ISO时,下面返回值的含义是什么?可否算出具体挂载到哪个盘符了?

moun-vhd -r %&isofile%,,,&retvhd,&&h
MESS %&h% / [%&retvhd%] / 1111
//0x23C / [-1 -2 ] / 1111

点评

,&&h 是私有加载 VHD/ISO , 自动关闭. 被 杀死 会异常退出,也会自动卸载。同时,自己不卸载,别人(进程) 也 卸载不了,如系统的磁盘管理。 &&h是一 自动对象。 超出变量范围,自动卸载。 一般,工具中 用得  详情 回复 发表于 2022-4-3 18:43
MOUN-VHD -iso C:%uSMV587.iso,Z:,,&v MESS. %&v% 好像是可以这样子指定盘符的  详情 回复 发表于 2022-4-3 13:34
回复

使用道具 举报

16583#
发表于 2022-4-3 13:28:48 | 只看该作者
为什么KILL之后窗口关上了,但程序还会在后台继续运行呢,file命令循环在KILL之后还会继续执行

点评

测试代码 打包发上来 看看  详情 回复 发表于 2022-4-3 17:34
回复

使用道具 举报

16584#
发表于 2022-4-3 13:34:41 | 只看该作者
527104427 发表于 2022-4-3 12:39
请教一下 ,挂载ISO时,下面返回值的含义是什么?可否算出具体挂载到哪个盘符了?

moun-vhd -r %&is ...

MOUN-VHD -iso C:\USMV587.iso,Z:,,&v
MESS. %&v%

好像是可以这样子指定盘符的

点评

这个好用,感谢红毛!  详情 回复 发表于 2022-4-7 14:56
回复

使用道具 举报

16585#
 楼主| 发表于 2022-4-3 17:34:50 | 只看该作者
泮安宁 发表于 2022-4-3 13:28
为什么KILL之后窗口关上了,但程序还会在后台继续运行呢,file命令循环在KILL之后还会继续执行

测试代码 打包发上来 看看

点评

已上传  详情 回复 发表于 2022-4-3 17:47
回复

使用道具 举报

16586#
发表于 2022-4-3 17:47:44 | 只看该作者
mdyblog 发表于 2022-4-3 17:34
测试代码 打包发上来 看看

已上传
TEST.7z (1.14 KB, 下载次数: 14)

点评

这么复杂的代码, 也不说说 具体怎么测试步骤(一步一步)???!!!  详情 回复 发表于 2022-4-3 18:51
回复

使用道具 举报

16587#
 楼主| 发表于 2022-4-3 18:43:22 | 只看该作者
本帖最后由 mdyblog 于 2022-4-3 18:48 编辑
527104427 发表于 2022-4-3 12:39
请教一下 ,挂载ISO时,下面返回值的含义是什么?可否算出具体挂载到哪个盘符了?

moun-vhd -r %&is ...

,&&h
是私有加载 VHD/ISO , 自动关闭. 被 杀死 会异常退出,也会自动卸载。同时,自己不卸载,别人(进程) 也 卸载不了,如系统的磁盘管理。
&&h是一 自动对象。
超出变量范围,自动卸载。
一般,工具中 用得上。
%&&h%就是 WIndow核心对象的句柄(HANDLE)。 可CloseHandle()。
[%&&h%]如:
[0x665]
参见 示例\VHD_ISO私有加载.wcs
其中 有更高级玩法。

moun-vhd      %&vhdfile%,%Mount目标路径%,,&retvhd,&&h
moun-vhd -iso %&isofile%,%Mount目标路径%,,&retvhd,&&h
%&retvhd%  返回: 磁盘号或光盘号 错误码 %Mount目标路径%, [%&retvhd%]如:
[1 0 Z:]

点评

感谢解答,非常详细!  详情 回复 发表于 2022-4-3 20:20
回复

使用道具 举报

16588#
 楼主| 发表于 2022-4-3 18:51:54 | 只看该作者

这么复杂的代码, 也不说说 具体怎么测试步骤(一步一步)???!!!

点评

我把所有文件打包上传了 运行“目标目录”里的test.exe,列表文件选择“目标目录”里的test.txt,然后点击开始复制,在进度条没有到100时,点击右下角退出按钮,程序界面关闭,但过一会还是会弹出“复制完成”窗口  详情 回复 发表于 2022-4-3 19:42
我不知道什么原因,所以就整个传上来了,抱歉 就是根据列表复制文件,在没有把列表文件复制完的时候,点击右下角退出按钮,虽然窗口关闭了,但还在后台运行直到复制完成  详情 回复 发表于 2022-4-3 19:04
回复

使用道具 举报

16589#
发表于 2022-4-3 19:04:05 | 只看该作者
本帖最后由 泮安宁 于 2022-4-3 19:16 编辑
mdyblog 发表于 2022-4-3 18:51
这么复杂的代码, 也不说说 具体怎么测试步骤(一步一步)???!!!

我不知道什么原因,所以就整个传上来了,抱歉
就是根据列表复制文件,在没有把列表文件复制完的时候,点击右下角退出按钮,虽然窗口关闭了,但还在后台运行直到复制完成,用任务管理器才可以结束进程

点评

在没有把列表文件复制完的时候,点击右下角退出按钮,虽然窗口关闭了,但还在后台运行直到复制完成,用任务管理器才可以结束进程 --------------- 1: 这是正常的。 KILL \文件复制 虽然叫KILL,但 不是杀死进  详情 回复 发表于 2022-4-3 21:40
回复

使用道具 举报

16590#
发表于 2022-4-3 19:42:04 | 只看该作者
本帖最后由 泮安宁 于 2022-4-3 19:54 编辑
mdyblog 发表于 2022-4-3 18:51
这么复杂的代码, 也不说说 具体怎么测试步骤(一步一步)???!!!

我把所有文件打包上传了
运行“目标目录”里的test.exe,列表文件选择“目标目录”里的test.txt,相对路径同级目录选择“测试”目录(Windows目录的上一级)(文件和目录支持拖拽选择),然后点击开始复制,在进度条没有到100时,点击右下角退出按钮,程序界面关闭,但过一会还是会弹出“复制完成”窗口
https://www.123pan.com/s/GqX9-9g8I

点评

按红色部分改改试一下 CALL @WIN1 _SUB SetEdit2 BROW txtfile,, 请选择列表文件, txt FIND $%txtFILE%=,!ENVI @Edit1=%txtFILE% _END _SUB SetEdit3 BROW MntDir2,*%Edit3%, 请选  详情 回复 发表于 2022-4-3 20:33
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-7-15 04:45

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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