无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: mdyblog
打印 上一主题 下一主题

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

    [复制链接]
6781#
 楼主| 发表于 2013-8-5 13:46:50 | 只看该作者
2012justion 发表于 2013-8-5 13:44
0        0        0        31259480380        130201549054695100               
4        0        0        0        130201549054695100               
272        4        912        7332047        1302015490 ...

好啊。

点评

辛苦M大了,真诚祝福M大每天好心情  详情 回复 发表于 2013-8-5 13:49
回复

使用道具 举报

6782#
发表于 2013-8-5 13:47:43 | 只看该作者
本帖最后由 2012justion 于 2013-8-5 13:50 编辑
mdyblog 发表于 2013-8-5 13:28
那就好。
   没看见那个 卡在那儿的 U检测程序了。


windows任务管理器进程

2013-08-05_134550.png (22.24 KB, 下载次数: 132)

2013-08-05_134550.png

2013-08-05_134419.png (61.95 KB, 下载次数: 142)

2013-08-05_134419.png
回复

使用道具 举报

6783#
发表于 2013-8-5 13:49:50 | 只看该作者
mdyblog 发表于 2013-8-5 13:46
好啊。

辛苦M大了,真诚祝福M大每天好心情

点评

彼此彼此, 谢谢!  详情 回复 发表于 2013-8-5 13:52
回复

使用道具 举报

6784#
 楼主| 发表于 2013-8-5 13:52:09 | 只看该作者
2012justion 发表于 2013-8-5 13:49
辛苦M大了,真诚祝福M大每天好心情

彼此彼此, 谢谢!
回复

使用道具 举报

6785#
发表于 2013-8-5 14:02:54 | 只看该作者
M 大 请教PECMD.EXE下变量 “CurDir  &CurDir  配置文件目录” 这两个带&和不带&的具体有什么区别吗?还是完全等同的啊?
还有再正常操作系统的cmd里批处理可以用  “ ..\  ” 双点代表批处理自身目录的上一级目录,请教PECMD.EXE下有类似的功能吗?
或者大大 是否可以考虑加入这样的功能啊?比如:   ..\%CurDir%  表示返回到配置文件上一级目录,  ..\..\%CurDir%  表示返回到配置文件上二级目录!

点评

1: CurDir &CurDir 是一样的。 &CurDir 是PECMD2012 标准的。 PECMD2012 标准 的变量 一般 带&, 是PE变量。 CurDir 是 4.0标准的。 &CurDir 的好处是, 多个 &CurDir 互不相干。 而 CurDir 只有一份  详情 回复 发表于 2013-8-5 14:18
M大曾经给我的回复: 如当目录为C:\DIR1 LOAD D:\DIR2\A.WCS A.WCS 中 当前目录自动变为 D:\DIR2 LOAD 之前的当前目录 C:\DIR1 保存在 %&__OldDir% MESS %&__OldDir% 回到原来目录: PATH @%&__O  详情 回复 发表于 2013-8-5 14:15
回复

使用道具 举报

6786#
发表于 2013-8-5 14:15:22 | 只看该作者
thttht 发表于 2013-8-5 14:02
M 大 请教PECMD.EXE下变量 “CurDir  &CurDir  配置文件目录” 这两个带&和不带&的具体有什么区别吗?还是完 ...

M大曾经给我的回复:



如当目录为C:\DIR1
LOAD D:\DIR2\A.WCS

A.WCS 中 当前目录自动变为 D:\DIR2
LOAD 之前的当前目录   C:\DIR1  保存在 %&__OldDir%
MESS  %&__OldDir%
回到原来目录: PATH  @%&__OldDir%






1:当前目录的上级目录。简单来说:  
..
如 exec  ..\app1.exe
不一定是 配置文件的上级目录。
开始是一样。 PATH @E:\aaa\bbb 后 .. 实际就是 E:\aaa,而 %&CurDir%\.. 不受 PATH @影响。



2:配置文件的上级目录:
%&CurDir%\..
如 exec  %&CurDir%\..\app1.exe
MESS  [%&CurDir%\..]

3:转为规范全路径:

当前目录的上级目录:
FDIR  --fullfile &&TOP1=..

配置文件 的上级目录:
FDIR  --fullfile &&TOP2=%&CurDir%\..

MESS  当前目录的上级目录:  [%&TOP1%]   配置文件 的上级目录:【%&TOP2%】

点评

对。  详情 回复 发表于 2013-8-5 14:19
回复

使用道具 举报

6787#
 楼主| 发表于 2013-8-5 14:18:46 | 只看该作者
thttht 发表于 2013-8-5 14:02
M 大 请教PECMD.EXE下变量 “CurDir  &CurDir  配置文件目录” 这两个带&和不带&的具体有什么区别吗?还是完 ...

1:  CurDir  &CurDir 是一样的。
&CurDir 是PECMD2012 标准的。 PECMD2012 标准 的变量 一般 带&, 是PE变量。
CurDir  是 4.0标准的。   

&CurDir  的好处是, 多个  &CurDir  互不相干。 而 CurDir 只有一份, 有你没我,有我没你。
如:
脚本 D:\Dir1\A.WCS:
MESS  1:%CurDir% @ #OK
THREAD* LOAD  C:\Dir2\B.WCS
WAIT 500
MESS  3:%CurDir% @ #OK

C:\Dir2\A.WCS
MESS  3:%CurDir% @ #OK
////得到的结果:
1:【D:\Dir1】
2:【C:\Dir2】
3:【C:\Dir2】  //这里出错了
/////上面前部用 &CurDir ,结果为 :
1:【D:\Dir1】
2:【C:\Dir2】  //这个子线程修改了全局的CurDir变量。
3:【D:\Dir2】  //只里不受影响


2:  ..\%&CurDir%   ..\%CurDir%        ..\..\%&CurDir%   ..\..\%CurDir%   等等 都是支持的。 是(windows)标准的。

回复

使用道具 举报

6788#
 楼主| 发表于 2013-8-5 14:19:47 | 只看该作者
527104427 发表于 2013-8-5 14:15
M大曾经给我的回复:

对。
回复

使用道具 举报

6789#
发表于 2013-8-5 14:44:50 | 只看该作者
本帖最后由 thttht 于 2013-8-5 15:12 编辑

谢谢两位大大的讲解!明白了!

还有个问题请教,下面代码是我看大大们的“虚拟内存与临时文件设置”中的代码改的,但我这个“确定目录”部分捕捉内容改变好像还行,“确定文件”部分捕捉内容改变就不行了!请教问题出在什么地方啊?主要是对命令不熟悉,一知半解的!

  LABE -center -vcenter LABE1,L12T108W55H18,确定目录:,,
  SET-def BOOT_Enable=1
  FDIR --fullfile &&BOOT=%&CurDir%\..
        EDIT TMPDir,L67T105W140H20,%&BOOT%,,0x100
        ITEM BOOTDIR,L210T103W50H24,浏览,CALl SelectBOOT,
       
        SET &WM_COMMAND=0x0111
        SET &EN_CHANGE=0x0300
        ENVI @TMPDir.ID=?;&&TMPDir_ID
        CALC -base=16 #&&TMPDir_CHANGE=%&EN_CHANGE% * 0x10000  + %TMPDir_ID%   //低16位,控件ID   //高16位,操作码
        ENVI @this.MSG=_%&WM_COMMAND%::&&wp,&&lp,CALL OnCommand   //捕捉内容改变
        CALL OnTimer1

  LABE -center -vcenter LABE2,L12T138W55H18,确定文件:,,
  SET-def Fileimg_Enable=2
        EDIT Fileimg,L67T135W140H20,%Fileimg%,,0x100
        ITEM BOOTFile,L210T133W50H24,浏览,CALl SelectFile,
       
        SET &WM_COMMAND=0x0111
        SET &EN_CHANGE=0x0300
        ENVI @Fileimg.ID=?;&Fileimg_ID
        CALC -base=16 #&Fileimg_CHANGE=%&EN_CHANGE% * 0x10000  + %Fileimg_ID%   //低16位,控件ID   //高16位,操作码
        ENVI @this.MSG=_%&WM_COMMAND%::&&wp,&&lp,CALL OnCommand   //捕捉内容改变
        CALL OnTimer1
       

点评

ENVI @this.MSG=_%&WM_COMMAND%::&&wp,&&lp,CALL OnCommand //捕捉内容改变,大家公用的。里面再分。 CALL OnTimer1 _END _SUB OnCommand FIND $1=%bt%,! EXIT IFEX $%TMPDir_  详情 回复 发表于 2013-8-5 15:43
回复

使用道具 举报

6790#
 楼主| 发表于 2013-8-5 15:43:18 | 只看该作者
thttht 发表于 2013-8-5 14:44
谢谢两位大大的讲解!明白了!

还有个问题请教,下面代码是我看大大们的“虚拟内存与临时文件设置”中的 ...

    ENVI @this.MSG=_%&WM_COMMAND%::&&wp,&&lp,CALL OnCommand   //捕捉内容改变,大家公用的。里面再分。
    CALL OnTimer1
_END
   
_SUB OnCommand
        FIND $1=%bt%,! EXIT
        IFEX $%TMPDir_CHANGE%=%&wp%, CALL OnTMPDir    //这里监视多个  [1]
        IFEX $%Fileimg_CHANGE%=%&wp%,CALL OnFileimg  //这里监视多个  [2]
_END

_SUB OnTMPDir   //监控 TMPDir
    ENVI @this=%Title0% OnTMPDir [%TMPDir%]  
_END

_SUB OnFileimg  //监控 Fileimg
    ENVI @this=%Title0% OnFileimg  [%Fileimg%]  
_END

监视多个个.zip

933 Bytes, 下载次数: 8, 下载积分: 无忧币 -2

点评

请教我这里按楼主的代码还是不行啊!是不是我的PECMD版本的问题啊? 我现在用的是“PECMD2012.1.79N-130510-59.10J2D3.4.多窗口线程孵化版_win32_64新设计.sfx.zip” 这个应该是最新版的了吧!  详情 回复 发表于 2013-8-5 17:48
回复

使用道具 举报

6791#
发表于 2013-8-5 17:48:25 | 只看该作者
mdyblog 发表于 2013-8-5 15:43
ENVI @this.MSG=_%&WM_COMMAND%::&&wp,&&lp,CALL OnCommand   //捕捉内容改变,大家公用的。里面再分。 ...

请教我这里按楼主的代码还是不行啊!是不是我的PECMD版本的问题啊?
我现在用的是“PECMD2012.1.79N-130510-59.10J2D3.4.多窗口线程孵化版_win32_64新设计.sfx.zip”
这个应该是最新版的了吧!

点评

这个 最近的 那个版本 都可以。 (-58即可) 内容变换时, 标题变了。 没看见吗? 当然这只是个演示。 具体要做什么, 修改 两个函数 的代码 : OnTMPDir OnFileimg  详情 回复 发表于 2013-8-5 18:15
回复

使用道具 举报

6792#
 楼主| 发表于 2013-8-5 18:15:35 | 只看该作者
thttht 发表于 2013-8-5 17:48
请教我这里按楼主的代码还是不行啊!是不是我的PECMD版本的问题啊?
我现在用的是“PECMD2012.1.79N-130 ...

这个 最近的 那个版本 都可以。 (-58即可)
内容变换时, 标题变了。 没看见吗?
当然这只是个演示。 具体要做什么, 修改   两个函数  的代码 : OnTMPDir  OnFileimg  

Snap1.gif (5.41 KB, 下载次数: 112)

Snap1.gif

Snap2.gif (4.53 KB, 下载次数: 111)

Snap2.gif

点评

哦!这样啊,那和我想要的效果不同,是我没有说清楚。我是想让“确定目录”的输入框和他后面的“浏览”关联,当浏览设定了目录后“确定目录”的输入框内容也相应的改变现实刚刚“浏览”时设定的目录! “确定文件  详情 回复 发表于 2013-8-5 22:14
回复

使用道具 举报

6793#
发表于 2013-8-5 22:14:20 | 只看该作者
本帖最后由 thttht 于 2013-8-5 22:24 编辑
mdyblog 发表于 2013-8-5 18:15
这个 最近的 那个版本 都可以。 (-58即可)
内容变换时, 标题变了。 没看见吗?
当然这只是个演示。  ...


哦!这样啊,那和我想要的效果不同,是我没有说清楚。我是想让“确定目录”的输入框和他后面的“浏览”关联,当浏览设定了目录后“确定目录”的输入框内容也相应的改变现实刚刚“浏览”时设定的目录!

“确定文件”的输入框也是和他自己后面的“浏览”关联,当浏览设定了目录后“确定目录”的输入框内容也相应的改变现实刚刚“浏览”时设定的文件名!这里还有个问题请教,就是如何能只截取带扩展名的文件名,不要带路径啊?下面这段对吗?

_SUB SelectFile
        BROW File,%&CurDir%,请选择要启动的镜像文件,All|*.*|.ISO 光盘|*.ISO|.IMA 软盘|*.IMA|.VHD硬盘|*.VHD|.IMG 硬盘|*.IMG|.VHDX 硬盘|*.VHDX
        FIND $%Fileimg%=,!LSTR TmpD=%Fileimg%,2
_END


还有看帮助里 PCIP 是设定 IP 用的,不知道 PECMD 里有自动检测本机现有的 “IP地址 、子网掩码、默认网关”这些的啊?我想检测本机现有的 “IP地址 、子网掩码、默认网关” 并把这些分别设置成3个变量,并且希望用 “192.168.001.005" 这种格式,4组数值都用3个字符!

点评

ENVI i=0 PCIP ? IP,MASK,GW,DNS,%i%?NAME,MAC,LINK MESS. %i%: %IP%,%MASK%,%GW%,%DNS%,NAME=%NAME%,%MAC%,%LINK%  详情 回复 发表于 2013-8-6 10:33
浏览之后,通知上面的输入框即可: ENVI @控件名=选择的目录  详情 回复 发表于 2013-8-5 22:53
回复

使用道具 举报

6794#
发表于 2013-8-5 22:53:08 | 只看该作者
本帖最后由 527104427 于 2013-8-5 22:54 编辑
thttht 发表于 2013-8-5 22:14
哦!这样啊,那和我想要的效果不同,是我没有说清楚。我是想让“确定目录”的输入框和他后面的“浏览” ...


回答你第一个问题。浏览之后,通知上面的输入框即可:
ENVI @控件名=选择的目录
回复

使用道具 举报

6795#
 楼主| 发表于 2013-8-6 10:33:24 | 只看该作者
本帖最后由 mdyblog 于 2013-8-6 11:59 编辑
thttht 发表于 2013-8-5 22:14
哦!这样啊,那和我想要的效果不同,是我没有说清楚。我是想让“确定目录”的输入框和他后面的“浏览” ...

ENVI  i=0
PCIP ? IP,MASK,GW,DNS,%i%?NAME,MAC,LINK
MESS. %i%: %IP%,%MASK%,%GW%,%DNS%,NAME=%NAME%,%MAC%,%LINK%


----------------------------------------------------
//转为3个字符 用是printf 函数

///////////////////////////////////////////////////////////////////
// sprintf   返回值变量,*接收区变量,=格式串,参数表
// #整数,*PE变量名,$字符串,=原始串
// 返回值变量  为 接受字符个数
// 使用小心, 错误的使用 会崩溃的。  
/// ------ 如错误:  sprintf &&num,*&V,=%s,#1

///////////////////////////////////////////////////////////////////
SET$  &V=*100 0x00  //100字符 接收区   
sprintf &&num,*&V,=%03d,#5
MESS. %&num%字符  [%&V%]

//结果:
//3字符  [005]



字符串格式化.WCS:(包内有)
SET$ V=*1000   //1000字符 接收区   
sprintf &&num,*&V,=%03d %5d 截短[%.5s] 补长[%5s] 定长1[%5.5s] 定长2[%5.5s] ptr[0x%p],#5,#6,$1**6789,$123,$1**6789,$123,#0x123
MESS. %&num%字符  【%&V%】


点评

使用小心, 错误的使用 会崩溃的。 请教 “错误的使用” 指的是什么情况啊? 还有我这里运行结果如下:有个函数不正确。 1376 10753003.325757303 {ENTER:H:\UD\grub4dos自己改版\BOOT\_PXE服务器\ip.wcs} 13  详情 回复 发表于 2013-8-6 11:50
回复

使用道具 举报

6796#
发表于 2013-8-6 11:50:04 | 只看该作者
本帖最后由 thttht 于 2013-8-6 11:57 编辑
mdyblog 发表于 2013-8-6 10:33
ENVI  i=0
PCIP ? IP,MASK,GW,DNS,%i%?NAME,MAC,LINK
MESS. %i%: %IP%,%MASK%,%GW%,%DNS%,NAME=%NAME%, ...


使用小心, 错误的使用 会崩溃的。
请教 “错误的使用” 指的是什么情况啊?
还有我这里运行结果如下:有个函数不正确。
=============================================================================
1376        10753003.325757303        {ENTER:H:\UD\grub4dos自己改版\ip.wcs}
1376        10753006.873608177        [LOGS *H:\UD\grub4dos自己改版\PE.LOG]        <0>        :操作成功完成。
1376        10753005.985188676        [ENVI  i=0]        <0>        :操作成功完成。

RegSetIP({A63155F2-2C1E-444F-9AA9-F61D27BCF168},*,,,)
1376        10753006.742648731        [PCIP ? IP,MASK,GW,DNS,0?NAME,MAC,LINK]        <0>        :操作成功完成。
1376        10760001.473186012        [MESS. 0: 0.0.0.0,0.0.0.0,,,NAME={A63155F2-2C1E-444F-9AA9-F61D27BCF168},E0-CB-4E-AB-52-44,本地连接 2]        <0>        :操作成功完成。
1376        10760001.516052263        [----------------------------------------------------]        <1>        :函数不正确。
1376        10760001.540562803        [SET$  &V=*100 0x00]        <0>        :操作成功完成。
1376        10760001.577277978        [CALL $**c **qd **ret:* #,0x77E1B1B7, &&num,*&V,=d,#5]        <0>        :操作成功完成。
1376        10760001.585210616        [sprintf &&num,*&V,=d,#5]        <0>        :操作成功完成。
1376        10762000.667935096        [MESS. 3字符  [005]]        <0>        :操作成功完成。
1376        10762000.685623192        {LEAVE:H:\UD\grub4dos自己改版\ip.wcs}

============================================================================

还有请教在批处理中 下面这种建立文件的方式,在PECMD脚本里要如何实现啊?
>ip.ini echo.bbbbbbbb
>>ip.ini echo.aaaaaaa

点评

1: // 使用小心, 错误的使用 会崩溃的。 /// ------ 如错误: sprintf &&num,*&V,=%s,#1 格式串说的是1个字符串参数, 但传入的参数不是 字符串, (也不是恰当的字符串指针,不懂就不理这半句) 如上例子。  详情 回复 发表于 2013-8-6 12:07
回复

使用道具 举报

6797#
 楼主| 发表于 2013-8-6 12:07:14 | 只看该作者
thttht 发表于 2013-8-6 11:50
使用小心, 错误的使用 会崩溃的。
请教 “错误的使用” 指的是什么情况啊?
还有我这里运行结果如下 ...


1: // 使用小心, 错误的使用 会崩溃的。  
/// ------ 如错误:  sprintf &&num,*&V,=%s,#1
格式串说的是1个字符串参数, 但传入的参数不是 字符串, (也不是恰当的字符串指针,不懂就不理这半句)
如上例子。%s说明后面是  字符串参数
但传入的是整数 ,#1  
(而且 1 绝不是合法的字符串指针, 不懂就不理这半句)
崩溃。 完毕。


2:
PUTF -dd   -len=0   ip.ini,0,zero   //生成空文件 ,或清空文件
WRIT  ip.ini,$+0,bbbbbbbb  //依次写入各行
WRIT  ip.ini,$+0,aaaaaaa

点评

M大 我运行上面的ip代码好像不太正常,麻烦你再给看看行吗?  详情 回复 发表于 2013-8-6 12:57
回复

使用道具 举报

6798#
发表于 2013-8-6 12:57:27 | 只看该作者
本帖最后由 thttht 于 2013-8-6 13:01 编辑
mdyblog 发表于 2013-8-6 12:07
1: // 使用小心, 错误的使用 会崩溃的。  
/// ------ 如错误:  sprintf &&num,*&V,=%s,#1
格式串 ...


M大 我运行上面 7194# 楼的ip代码好像不太正常,麻烦你再给看看行吗?
这是运行后弹出的2个窗口截图!





点评

这个正常。 你没有设置IP, 用的动态IP。 返回的 是你的设置(保存在注册表中) 你第一个网卡 的设置就是一堆 IP=0.0.0.0 MASK=0.0.0.0 GW=空  详情 回复 发表于 2013-8-6 13:26
回复

使用道具 举报

6799#
 楼主| 发表于 2013-8-6 13:26:59 | 只看该作者
thttht 发表于 2013-8-6 12:57
M大 我运行上面 7194# 楼的ip代码好像不太正常,麻烦你再给看看行吗?
这是运行后弹出的2个窗口截图! ...

这个正常。
你没有设置IP, 用的动态IP。
返回的 是你的设置(保存在注册表中)
你第一个网卡 的设置就是一堆  IP=0.0.0.0 MASK=0.0.0.0  GW=空

点评

的确是这样,我的是“没有设置IP, 用的动态IP”,但我用下面这个可以得到分配的本机 IP 请教我是想要这种效果!不知道PECMD下还有其他办法实现吗? 或者下面的如何能在PECMD里应用啊? for /f "tokens=15" %%i  详情 回复 发表于 2013-8-6 13:57
回复

使用道具 举报

6800#
发表于 2013-8-6 13:57:53 | 只看该作者
本帖最后由 thttht 于 2013-8-6 14:14 编辑
mdyblog 发表于 2013-8-6 13:26
这个正常。
你没有设置IP, 用的动态IP。
返回的 是你的设置(保存在注册表中)


的确是这样,我的是“没有设置IP, 用的动态IP”,但我用下面这个可以得到分配的本机 IP
请教我是想要这种效果!不知道PECMD下还有其他办法实现吗?
或者下面的如何能在PECMD里应用啊?

for /f "tokens=15" %%i in ('ipconfig ^| find /i "ip address"') do set ip=%%i
for /f "tokens=15" %%i in ('ipconfig ^| find /i "Subnet Mask"') do set ips=%%i
for /f "tokens=13" %%i in ('ipconfig ^| find /i "Default Gateway"') do set ipss=%%i

并且把变量 ip 的IP地址192.168.1.1 这样的4组数字,截取成 分开单独设置成另外4个独立的变量啊?
比如:set a=192  set b=168  set c=001  set d=001      ;还得转换成 3 位数字的这种格式!

我的水平实在太差了,这样的代码实在是没有头绪!M大麻烦你了!

点评

PECMD进程管理器.wcs: 2D3.9 包内有。 需要 2D3.9 优化的 PECMD  详情 回复 发表于 2013-8-6 16:38
WIN7 的 ipconfig 不一样哦: 无线局域网适配器 无线网络连接: 连接特定的 DNS 后缀 . . . . . . . : 本地链接 IPv6 地址. . . . . . . . : fe80::edb6:620a:aa89:2c20%12 IPv4 地址 . . . . . . .  详情 回复 发表于 2013-8-6 16:29
回复

使用道具 举报

6801#
 楼主| 发表于 2013-8-6 16:29:33 | 只看该作者
本帖最后由 mdyblog 于 2013-8-7 14:20 编辑
thttht 发表于 2013-8-6 13:57
的确是这样,我的是“没有设置IP, 用的动态IP”,但我用下面这个可以得到分配的本机 IP
请教我是想要 ...

WIN7 的  ipconfig 不一样哦:
无线局域网适配器 无线网络连接:

   连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . : fe80::edb6:620a:aa89:2c20%12
   IPv4 地址 . . . . . . . . . . . . : 192.168.196.37
   子网掩码  . . . . . . . . . . . . : 255.255.248.0
   默认网关. . . . . . . . . . . . . : 192.168.199.254
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
TEAM ENVI^ ENVIMODE=1| ENVI^ FORCELOCAL=1
EXEC* &&IPS=!IPCONFIG    //MESS %IPS%
SET-def ip=
SET-def mask=
SET-def GW=

_SUB GetIPX   *
    FORX *NL &IPS,&&L,
    {   SED &&V1=?,%~2,,%L%
        IFEX $%V1%<1,!! SED &&V1=?,%~3,,%L%
        IFEX $%V1%<1, EXIT -   
        MSTR &&v2=<-1>%L%
        FIND $:=%v2%, SET v2=    //空
        SET  %1=%v2%
        EXIT  FORX
    }
_END

// IP地址  X.X.X.X  =>  NNN NNN NNN NNN
//  BREAKIP 返回名前缀 IP地址   
_SUB BREAKIP
    set-def n1=%1
    SET$-ret &%n1%1=*10 0
    SET$-ret &%n1%2=*10 0
    SET$-ret &%n1%3=*10 0
    SET$-ret &%n1%4=*10 0
    FIND $X=X%2, EXIT   //空
    SED &&__IPS2=0,\., ,%2
    MSTR &&v1,&&v2,&&v3,&&v4=<1*>%__IPS2%
    sprintf &&n,*%n1%1,=%03d,#%v1%
    sprintf &&n,*%n1%2,=%03d,#%v2%
    sprintf &&n,*%n1%3,=%03d,#%v3%
    sprintf &&n,*%n1%4,=%03d,#%v4%
_END

GetIPX  ip "IP Address"  "IPv4 "
BREAKIP ip %IP%   //%IP%  ==> ip1 ip2 ip3 ip4  

GetIPX  mask "Subnet Mask"  "子网掩码"
BREAKIP mask %mask%   //%mask%  ==> mask1 mask2 mask3 mask4  


GetIPX  gw "Default Gateway"  "默认网关"
BREAKIP gw %gw%   //%gw%  ==> gw1 gw2 gw3 gw4  

MESS IP  : %ip1% %ip2% %ip3% %ip4% [%ip%]\nMASK: %mask1% %mask2% %mask3% %mask4% [%mask%] \nGW  : %gw1% %gw2% %gw3% %gw4% [%gw%] \n  

GetIp.wcs
IP  : 192 168 196 037 [192.168.196.37]
MASK: 255 255 248 000 [255.255.248.0]
GW  : 192 168 199 254 [192.168.199.254]


GetIP.zip

860 Bytes, 下载次数: 0, 下载积分: 无忧币 -2

回复

使用道具 举报

6802#
 楼主| 发表于 2013-8-6 16:38:13 | 只看该作者
thttht 发表于 2013-8-6 13:57
的确是这样,我的是“没有设置IP, 用的动态IP”,但我用下面这个可以得到分配的本机 IP
请教我是想要 ...


PECMD进程管理器.wcs:
2D3.9 包内有。 需要 2D3.9 优化的 PECMD  (不闪烁,快)
回复

使用道具 举报

6803#
发表于 2013-8-6 16:41:25 | 只看该作者
本帖最后由 thttht 于 2013-8-6 16:48 编辑

M大 ”WIN7 的  ipconfig 不一样哦“ 你的意识是这个代码你也考虑了WIN7环境下的应用了!太棒了!

大大我这里运行代码后出现这个,其他的都出来了,但 IP 地址还是不正确!这是不是还是因为我的机器是自动 IP 的原因啊?麻烦大大在给看看!



点评

TEAM ENVI^ ENVIMODE=1| ENVI^ FORCELOCAL=1 EXEC* &&IPS=!IPCONFIG MESS. %&IPS% 吧显示的结果贴上来。  详情 回复 发表于 2013-8-6 16:56
回复

使用道具 举报

6804#
 楼主| 发表于 2013-8-6 16:56:45 | 只看该作者
thttht 发表于 2013-8-6 16:41
M大 ”WIN7 的  ipconfig 不一样哦“ 你的意识是这个代码你也考虑了WIN7环境下的应用了!太棒了!

大大我 ...

TEAM ENVI^ ENVIMODE=1| ENVI^ FORCELOCAL=1
EXEC* &&IPS=!IPCONFIG
MESS.  %&IPS%
吧显示的结果贴上来。

点评

麻烦 M大了!  详情 回复 发表于 2013-8-6 17:05
回复

使用道具 举报

6805#
发表于 2013-8-6 17:05:52 | 只看该作者
本帖最后由 thttht 于 2013-8-6 17:28 编辑
mdyblog 发表于 2013-8-6 16:56
TEAM ENVI^ ENVIMODE=1| ENVI^ FORCELOCAL=1
EXEC* &&IPS=!IPCONFIG
MESS.  %&IPS%


麻烦 M大了!大大 其实不用全部转换成 3个数字一组的,只转换 IP 地址的就行了,能否麻烦 M大 直接把 IP 地址 先设置成一个变量(比如是 set a=169.168.1.10);把 子网掩码 设置成一个变量(比如是 set b=255.255.255.0);
把 默认网关 设置成一个变量(比如是 set c=169.168.1.1) ;然后再把 IP 地址设置 “a” 拆解成 4 个新的变量这时并把数值转换成3个数值的 分别是  set aa=169 ;set bb=168 ;set cc=001 ;set dd=010 ,因为我之后还要单独用到这4个变量!!!



点评

%IP% %mask% %gw% 就是为解的。  详情 回复 发表于 2013-8-6 17:46
哦 【ip address】 改成【IP Address】 前面帖子重新下载吧。  详情 回复 发表于 2013-8-6 17:27
回复

使用道具 举报

6806#
 楼主| 发表于 2013-8-6 17:27:09 | 只看该作者
thttht 发表于 2013-8-6 17:05
麻烦 M大了!

哦 【ip address】 改成【IP Address】
前面帖子重新下载吧。

点评

大大回帖好快啊!我还没改完帖子你就回复了!哈哈!!我先研究研究你的脚本,改成我上面说的那样不,不行的话在麻烦大大把!  详情 回复 发表于 2013-8-6 17:33
回复

使用道具 举报

6807#
发表于 2013-8-6 17:33:21 | 只看该作者
mdyblog 发表于 2013-8-6 17:27
哦 【ip address】 改成【IP Address】
前面帖子重新下载吧。

大大回帖好快啊!我还没改完帖子你就回复了!哈哈!!我先研究研究你的脚本,改成我上面说的那样不,不行的话在麻烦大大把!

点评

PECMD2012.1.79N-130510-59.10J2D3.11 WRIT CONOUT$ 调试终端 方便调试, WRIT CONOUT$ 调试终端 直接开一终端, 打印调试流水。 调试终端.WCS:  详情 回复 发表于 2013-8-7 10:23
回复

使用道具 举报

6808#
 楼主| 发表于 2013-8-6 17:46:54 | 只看该作者
thttht 发表于 2013-8-6 17:05
麻烦 M大了!大大 其实不用全部转换成 3个数字一组的,只转换 IP 地址的就行了,能否麻烦 M大 直接把 I ...

都有。
%IP%  %mask%    %gw% 就是未解的。
回复

使用道具 举报

6809#
 楼主| 发表于 2013-8-7 10:23:02 | 只看该作者
本帖最后由 mdyblog 于 2013-8-7 10:26 编辑
thttht 发表于 2013-8-6 17:33
大大回帖好快啊!我还没改完帖子你就回复了!哈哈!!我先研究研究你的脚本,改成我上面说的那样不,不行 ...

PECMD2012.1.79N-130510-59.10J2D3.11    WRIT CONOUT$ 调试终端

方便调试, WRIT CONOUT$ 调试终端 直接开一终端, 实时打印调试流水
调试终端.WCS:
1
2
FORX * 1 2 3 4,&i, TEAM WRIT CONOUT$,$+0,调试终端1234| WAIT 1000
MESS 完毕  

Snap1.gif (3.01 KB, 下载次数: 104)

Snap1.gif

点评

上面这个是要加到我要调试的代码里吗? 没明白如何用这个,我现在只是在代码里加入了“LOGS *%&CurDir%\PE.LOG” 看一下PE.LOG文件, 我接下来这几天没有时间继续写那个代码了,工作有点忙!等忙完了,还得麻烦大  详情 回复 发表于 2013-8-7 15:31
回复

使用道具 举报

6810#
发表于 2013-8-7 15:31:12 | 只看该作者
mdyblog 发表于 2013-8-7 10:23
PECMD2012.1.79N-130510-59.10J2D3.11    WRIT CONOUT$ 调试终端

方便调试, WRIT CONOUT$ 调试终端 直 ...

上面这个是要加到我要调试的代码里吗?
没明白如何用这个,我现在只是在代码里加入了“LOGS  *%&CurDir%\PE.LOG” 看一下PE.LOG文件,
我接下来这几天没有时间继续写那个代码了,工作有点忙!等忙完了,还得麻烦大大帮我看看!目前还有地方不对!一直是看着别人的代码改改,很多东西一知半解的!还有些基础的问题想向你请教学习!忙完手里的工作还得麻烦你教教我!

点评

一般 看LOG 这个 是 另外 提供的 一条方法。  详情 回复 发表于 2013-8-7 16:00
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-7-3 05:13

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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