皮皮网

【linux signal 源码分析】【人脸识别的app源码】【未来科技dz论坛源码】PECMD源码分析

2024-11-27 18:30:43 来源:unitywebrequest源码

1.WinPE上网程序设置
2.自己做一个Winpe容易吗?我想自己做一个。码分
3.如何让winpe可以上网

PECMD源码分析

WinPE上网程序设置

       网启服务器自动配置程序:

       @echo off

       PUSHD %~dp0

       SET TP=%CD%

       Title HaneWin网启服务端 通用免配程序 for winPE_xp__win7

       rem ==========以下此行为启动引导文件,码分请自行修改,码分 必须在分区根目录=======

       set bootfile=PXEgrldr.0

       rem ==========================================================

       echo 正在自动搜索启动文件,可能需要一些时间,码分请稍等。码分。码分linux signal 源码分析。码分

       set BaseDirectory=

       set bootdrver=%~d0

       for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:%bootfile% set bootdrver=%%i:

       if not exist %bootdrver%%bootfile% ECHO 找不到网启文件:%bootfile% pause exit

       set BaseDirectory=%bootdrver%

       rem if exist %bootdrver%%bootfile% set BaseDirectory=%bootdrver%goto copyfile

       rem for /f "usebackq" %%i in (`dir "%bootdrver%%bootfile%" /s/b`) do set BaseDirectory=%%~dpi

       rem if %BaseDirectory%.==. echo 在 %bootdrver%盘上 找不到启动文件:%bootfile% pause

       :copyfile

       copy DHCP*.* %temp% /y nul

       set tp=%temp%

       %TP%dhcp4nt.exe -remove nul

       setlocal

       set/a a=-2

       for /f "usebackq tokens=2 delims=:" %%i in (`ipconfig`) do (

       set b=%%i

       call :getip

       )

       for /f "tokens=1-3,码分4 delims=." %%i in ("%_myip%") do set IP_Pool=%%i.%%j.%%k.

       %TP%DHCPsrv.ini echo.[License]

       %TP%DHCPsrv.ini echo.Key=BBLZUBBCAT9

       %TP%DHCPsrv.ini echo.Name=Free User

       %TP%DHCPsrv.ini echo.[DHCPsrv]

       %TP%DHCPsrv.ini echo.Profile0=本地连接

       %TP%DHCPsrv.ini echo.TFTPDirectory=%BaseDirectory%

       %TP%DHCPsrv.ini echo.Multicast=0

       %TP%DHCPsrv.ini echo.TFTPEnable=1

       %TP%DHCPsrv.ini echo.TFTPPort=

       %TP%DHCPsrv.ini echo.TFTPMode=0

       %TP%DHCPsrv.ini echo.Log=0

       %TP%DHCPsrv.ini echo.TestIP=1

       %TP%DHCPsrv.ini echo.ChangeIP=1

       %TP%DHCPsrv.ini echo.EnableMAC=1

       rem 有多个网卡时,如不能确定那个网卡,码分可以将下面此行去掉

       %TP%DHCPsrv.ini echo.Include=%_myip%

       %TP%DHCPsrv.ini echo.[本地连接]

       %TP%DHCPsrv.ini echo.SubnetMask=%_mask%

       %TP%DHCPsrv.ini echo.BaseIP=%IP_Pool%

       %TP%DHCPsrv.ini echo.Range=

       %TP%DHCPsrv.ini echo.BootFile=%bootfile%

       %TP%DHCPsrv.ini echo.GatewayIP=%_Gateway%大白菜官网

       %TP%DHCPsrv.ini echo.InterfaceIP=%_myip%

       endlocal

       %tp%dhcp4nt.exe -install nul

       start %tp%dhcpsrv.cpl

       if not exist x:*.* goto windows

       PECMD.EXE LINK %%Programs%%网络工具网启服务器HaneWin网启服务端,码分%tp%dhcpsrv.cpl,,%tp%dhcp.ico

       PECMD.EXE LINK %%Programs%%网络工具网启服务器开启HaneWin网启服务,%tp%dhcp4nt.exe,-install,shell.dll#

       PECMD.EXE LINK %%Programs%%网络工具网启服务器关闭HaneWin网启服务,%tp%dhcp4nt.exe,-remove,shell.dll#

       PECMD FILE "%%DESKTOP%%开启HaneWin网启服务端.*"

       rem 删除共享名PEroot,建立共享名为PEROOT,共享资源为%BaseDirectory%

       PECMD EXEC CMD /C "net share PEROOT /d"

       PECMD EXEC CMD /C "net share PEROOT=%BaseDirectory% /unlimited"

       rem PECMD FIND EXPLORER.EXE,码分KILL EXPLORER.EXE

       echo.

       echo 已将本机PE系统 [url=file://%Computername%PEROOT]%Computername%PEROOT[/url] 共享给远程客户(主机名:%Computername%,用户名:Guest,码分密码为空)

       :windows

       echo.

       echo.

       echo 远程启动网启服务器.启动成功!可以进行远程网络启动PE!

       echo.

       pause

       EXIT

       :getip

       set /a a=%a%+1

       if %a%==1 set _myip=%b%

       if %a%==2 set _mask=%b%

       if %a%==3 set _Gateway=%b%

       goto :eof

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

       @ECHO OFF

       Title HaneWin网启服务端_映射远程主机 免配程序 for winPE

       PUSHD %~dp0

       set tp=%cd%

       rem 第一次运行

       pecmd.exe IFEX %%Desktop%%映射远程主机.LNK,!EXEC cmd /c copy "%tp%网启快捷及映射主机.CMD" "%tp%映射远程主机.TMP"

       PECMD.exe LINK %%Desktop%%映射远程主机,%tp%网启快捷及映射主机.CMD,,SHELL.DLL#

       for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:PEToolswin7.ini PECMD.exe file %%Desktop%%映射远程主机.

*

       for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:外置程序winPE.ini PECMD.exe file %%Desktop%%映射远程主机.

*

       pecmd.exe IFEX %%Desktop%%映射远程主机.LNK,!EXEC cmd /c copy "%tp%网启快捷及映射主机.CMD" "%tp%映射远程主机.TMP"

       if exist "%tp%映射远程主机.TMP" goto end

       rem 映射远程主机

       ipconfig /all |find /i "DHCP" |find /i "服务器"%temp%ip.txt

       ipconfig /all |find /i "DHCP" |find /i "Server"%temp%ip.txt

       for /f "usebackq tokens=2 delims=:" %%i in (%temp%ip.txt) do (

       set ip=%%i

       )

       set ip=%ip:~1%

       ECHO.

       ECHO 将远程服务器%ip%的共享名peroot 映射为本地Z:盘,主要是码分用于客户端,用户Guest,密码为空)

       ECHO .

       ECHO .

       ECHO 正在连接至远程服务器:%ip%, 请稍等。码分。码分人脸识别的app源码。。。。

       ECHO.|NET USE z: [url=file://%ip%PEROOT]%ip%PEROOT[/url] /user:guest /persistent:no

       pecmd wait

       if exist z:*.* PECMD.EXE MESS 网络成功连接,并已连接远程服务器为Z:nnn如不能连上InterNet网,请在网络设置中释放-更新络IP,未来科技dz论坛源码或在服务器上关闭网络启动服端!@提示 #ok

*

       if exist z:PETOOLSWin7.INI PECMD.EXE LINK %%Desktop%%加载远程外置程序1,PECMD.EXE,LOAD z:PETOOLSWin7.INI,Shell.dll#

       if exist z:外置程序winPE.ini PECMD.EXE LINK %%Desktop%%加载远程外置程序2,PECMD.EXE,LOAD z:外置程序winPE.ini,Shell.dll#

       if not exist z:*.* PECMD.EXE MESS 无法连接远程服务器,请检查网络或服务器!!@提示 #ok

*

       :end

       pecmd.exe file "%tp%映射远程主机.TMP"

       pecmd.exe file "%tp%映射远程主机.TMP"

       pecmd.exe IFEX %%Desktop%%映射远程主机.LNK,!LINK %%Programs%%网络工具网启服务器HaneWin网启服务端,%tp%HaneWin网启服务端.CMD,,%tp%DHCP.ICO

       exit

       这段源码可以根据自己的需要进行适当修改。

自己做一个Winpe容易吗?我想自己做一个。

       自己编程实现winpe有一定的难度,但也并非不可完成。

       window实际上是由很多独立的程序和服务组成的。这些和程序和服务有些是云梦吧网络源码商城系统运行必须的,有些则有可选的。如果根据自己的需要,选出必须的程序和服务并使其运行起来,你就可得到一个最小内核的windows,这就是最小PE的来源。

       但,如何使这些被选出来的java源码翻译易语言程序和服务运行起来呢,这就需要用C或C++等语言进行编程,按一定的次序和要求来调用这些程序和服务(其实windows 自己也是这么做的)。

       那么,有没有更简单点的办法呢?有,就是直接使用别人做好的半成品的调用程序,例如老九的PECMD来完成这些程序和服务的调用。

       假如你自己要做一个WINPE XP,你需要先了解windows XP 在启动时都执行了哪些程序和服务,并将其用PECMD调用起来就可以了。

       你可以从网上下载一些别人做好的winpe.iso(例如老毛桃的)并参其ISO文件中的PECMD.ini文件的写法来调用需要的文件。

       至于这些被调用的文件从哪来的?很简单,从真正的windows中“抠”出来的,可以是安装好的系统或直接从安装光盘上拷贝。事实上,由于对网上下载的文件不太信任,我自己的winpe中的文件都是直接从正版光盘中COPY下来的。假如你所COPY的系统是windows XP,则你的PE就是XP PE,如果你所COPY的系统是windows server ,则做的PE就是 PE。

       win7 PE采用的是VHD方式,与PECMD相差很远,目前比较多见的是用微软自己提供的一种方式来进行调用。但是,其基本原理是一样的,随着大家对window 7的熟悉程序越来越高,最终一定最终一定会出现与PECMD类似的同样的调用工具。

       你要自己编程实现winpe,其实主要工作就是自己编程实现pecmd功能。PECMD 的C++源码网上是有的,虽然版本有点老,但其基本思路是一样的,应该是你最好的参考。

如何让winpe可以上网

       WinPE下实现上网功能,跟着来写一段PE上网的源码吧。

       ç½‘启服务器自动配置程序:

       @echo off

       PUSHD %~dp0

       SET TP=%CD%

       Title HaneWin网启服务端 通用免配程序 for winPE_xp__win7

       rem ==========以下此行为启动引导文件,请自行修改, 必须在分区根目录=======

       set bootfile=PXEgrldr.0

       rem ==========================================================

       echo 正在自动搜索启动文件,可能需要一些时间,请稍等。。。

       set BaseDirectory=

       set bootdrver=%~d0

       for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\%bootfile% set bootdrver=%%i:

       if not exist %bootdrver%\%bootfile% ECHO 找不到网启文件:%bootfile% &&pause&& exit

       set BaseDirectory=%bootdrver%\

       rem if exist %bootdrver%\%bootfile% set BaseDirectory=%bootdrver%\&&goto copyfile

       rem for /f "usebackq" %%i in (`dir "%bootdrver%\%bootfile%" /s/b`) do set BaseDirectory=%%~dpi

       rem if %BaseDirectory%.==. echo 在 %bootdrver%盘上 找不到启动文件:%bootfile% &&pause

       :copyfile

       copy DHCP*.* %temp% /y >nul

       set tp=%temp%

       %TP%\dhcp4nt.exe -remove >nul

       setlocal

       set/a a=-2

       for /f "usebackq tokens=2 delims=:" %%i in (`ipconfig`) do (

       set b=%%i

       call :getip

       )

       for /f "tokens=1-3,4 delims=." %%i in ("%_myip%") do set IP_Pool=%%i.%%j.%%k.

       >%TP%\DHCPsrv.ini echo.[License]

       >>%TP%\DHCPsrv.ini echo.Key=BBLZUBBCAT9

       >>%TP%\DHCPsrv.ini echo.Name=Free User

       >>%TP%\DHCPsrv.ini echo.[DHCPsrv]

       >>%TP%\DHCPsrv.ini echo.Profile0=本地连接

       >>%TP%\DHCPsrv.ini echo.TFTPDirectory=%BaseDirectory%

       >>%TP%\DHCPsrv.ini echo.Multicast=0

       >>%TP%\DHCPsrv.ini echo.TFTPEnable=1

       >>%TP%\DHCPsrv.ini echo.TFTPPort=

       >>%TP%\DHCPsrv.ini echo.TFTPMode=0

       >>%TP%\DHCPsrv.ini echo.Log=0

       >>%TP%\DHCPsrv.ini echo.TestIP=1

       >>%TP%\DHCPsrv.ini echo.ChangeIP=1

       >>%TP%\DHCPsrv.ini echo.EnableMAC=1

       rem 有多个网卡时,如不能确定那个网卡,可以将下面此行去掉

       >>%TP%\DHCPsrv.ini echo.Include=%_myip%

       >>%TP%\DHCPsrv.ini echo.[本地连接]

       >>%TP%\DHCPsrv.ini echo.SubnetMask=%_mask%

       >>%TP%\DHCPsrv.ini echo.BaseIP=%IP_Pool%

       >>%TP%\DHCPsrv.ini echo.Range=

       >>%TP%\DHCPsrv.ini echo.BootFile=%bootfile%

       >>%TP%\DHCPsrv.ini echo.GatewayIP=%_Gateway%大白菜官网

       >>%TP%\DHCPsrv.ini echo.InterfaceIP=%_myip%

       endlocal

       %tp%\dhcp4nt.exe -install >nul

       start %tp%\dhcpsrv.cpl

       if not exist x:\*.* goto windows

       PECMD.EXE LINK %%Programs%%\网络工具\网启服务器\HaneWin网启服务端,%tp%\dhcpsrv.cpl,,%tp%\dhcp.ico

       PECMD.EXE LINK %%Programs%%\网络工具\网启服务器\开启HaneWin网启服务,%tp%\dhcp4nt.exe,-install,shell.dll#

       PECMD.EXE LINK %%Programs%%\网络工具\网启服务器\关闭HaneWin网启服务,%tp%\dhcp4nt.exe,-remove,shell.dll#

       PECMD FILE "%%DESKTOP%%\开启HaneWin网启服务端.*"

       rem 删除共享名PEroot,建立共享名为PEROOT,共享资源为%BaseDirectory%

       PECMD EXEC CMD /C "net share PEROOT /d"

       PECMD EXEC CMD /C "net share PEROOT=%BaseDirectory% /unlimited"

       rem PECMD FIND EXPLORER.EXE,KILL EXPLORER.EXE

       echo.

       echo 已将本机PE系统 [url=file://\\%Computername%\PEROOT]\\%Computername%\PEROOT[/url] 共享给远程客户(主机名:%Computername%,用户名:Guest,密码为空)

       :windows

       echo.

       echo.

       echo 远程启动网启服务器.启动成功!可以进行远程网络启动PE!

       echo.

       pause

       EXIT

       :getip

       set /a a=%a%+1

       if %a%==1 set _myip=%b%

       if %a%==2 set _mask=%b%

       if %a%==3 set _Gateway=%b%

       goto :eof

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

       @ECHO OFF

       Title HaneWin网启服务端_映射远程主机 免配程序 for winPE

       PUSHD %~dp0

       set tp=%cd%

       rem 第一次运行

       pecmd.exe IFEX %%Desktop%%\映射远程主机.LNK,!EXEC cmd /c copy "%tp%\网启快捷及映射主机.CMD" "%tp%\映射远程主机.TMP"

       PECMD.exe LINK %%Desktop%%\映射远程主机,%tp%\网启快捷及映射主机.CMD,,SHELL.DLL#

       for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\PETools\win7.ini PECMD.exe file %%Desktop%%\映射远程主机.

*

       for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\外置程序\winPE.ini PECMD.exe file %%Desktop%%\映射远程主机.

*

       pecmd.exe IFEX %%Desktop%%\映射远程主机.LNK,!EXEC cmd /c copy "%tp%\网启快捷及映射主机.CMD" "%tp%\映射远程主机.TMP"

       if exist "%tp%\映射远程主机.TMP" goto end

       rem 映射远程主机

       ipconfig /all |find /i "DHCP" |find /i "服务器">%temp%\ip.txt

       ipconfig /all |find /i "DHCP" |find /i "Server">>%temp%\ip.txt

       for /f "usebackq tokens=2 delims=:" %%i in (%temp%\ip.txt) do (

       set ip=%%i

       )

       set ip=%ip:~1%

       ECHO.

       ECHO 将远程服务器%ip%的共享名peroot 映射为本地Z:盘,主要是用于客户端,用户Guest,密码为空)

       ECHO .

       ECHO .

       ECHO 正在连接至远程服务器:%ip%, 请稍等。。。。。。

       ECHO.|NET USE z: [url=file://\\%ip%\PEROOT]\\%ip%\PEROOT[/url] /user:guest /persistent:no

       pecmd wait

       if exist z:\*.* PECMD.EXE MESS 网络成功连接,并已连接远程服务器为Z:\n\n\n如不能连上InterNet网,请在网络设置中释放-更新络IP,或在服务器上关闭网络启动服端!@提示 #ok

*

       if exist z:\PETOOLS\Win7.INI PECMD.EXE LINK %%Desktop%%\加载远程外置程序1,PECMD.EXE,LOAD z:\PETOOLS\Win7.INI,Shell.dll#

       if exist z:\外置程序\winPE.ini PECMD.EXE LINK %%Desktop%%\加载远程外置程序2,PECMD.EXE,LOAD z:\外置程序\winPE.ini,Shell.dll#

       if not exist z:\*.* PECMD.EXE MESS 无法连接远程服务器,请检查网络或服务器!!@提示 #ok

*

       :end

       pecmd.exe file "%tp%\映射远程主机.TMP"

       pecmd.exe file "%tp%\映射远程主机.TMP"

       pecmd.exe IFEX %%Desktop%%\映射远程主机.LNK,!LINK %%Programs%%\网络工具\网启服务器\HaneWin网启服务端,%tp%\HaneWin网启服务端.CMD,,%tp%\DHCP.ICO

       exit

       è¿™æ®µæºç å¯ä»¥æ ¹æ®è‡ªå·±çš„需要进行适当修改。