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

网启服务器自动配置程序:
@echo off
PUSHD %~dp0
SET TP=%CD%
Title HaneWin网启服务端 通用免配程序 for winPE_xp_03_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.100
>%TP%\DHCPsrv.ini echo.[License]
>>%TP%\DHCPsrv.ini echo.Key=BBLZ26803UBBCAT9
>>%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=69
>>%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=101
>>%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,shell32.dll#96
PECMD.EXE LINK %%Programs%%\网络工具\网启服务器\关闭HaneWin网启服务,%tp%\dhcp4nt.exe,-remove,shell32.dll#95
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系统 \\%Computername%\PEROOT 共享给远程客户(主机名:%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,,SHELL32.DLL#17
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: \\%ip%\PEROOT /user:guest /persistent:no
pecmd wait 200
if exist z:\*.* PECMD.EXE MESS 网络成功连接,并已连接远程服务器为Z:\n\n\n如不能连上InterNet网,请在网络设置中释放-更新络IP,或在服务器上关闭网络启动服端!@提示 #ok *60000
if exist z:\PETOOLS\Win7.INI PECMD.EXE LINK %%Desktop%%\加载远程外置程序1,PECMD.EXE,LOAD z:\PETOOLS\Win7.INI,Shell32.dll#46
if exist z:\外置程序\winPE.ini PECMD.EXE LINK %%Desktop%%\加载远程外置程序2,PECMD.EXE,LOAD z:\外置程序\winPE.ini,Shell32.dll#46
if not exist z:\*.* PECMD.EXE MESS 无法连接远程服务器,请检查网络或服务器!!@提示 #ok *60000
: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

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


本软件需在电脑端使用
请搜索U盘杀毒专家免费下载
    写不尽的悲伤
    2019/5/28
    感谢U盘中毒文件修复,帮助恢复,技术强大无可挑剔。虽然不是恢复所有想象的文件,但是还是恢复了很大一部分有用的。万分感谢。
    南望
    2019/3/01
    U盘被格式化了,u盘恢复软件在这片文章找到了好的解决办法,多谢分享我去尝试下看看效果怎么样?
    万象更新
    2019/3/12
    u盘格式化后怎么还原
    风与水的痕迹
    2019/4/17
    u盘格式化工具使用教程
    ①份鎏年,倆受傷
    2019/4/28
    u盘格式化后怎么还原
    风与水的痕迹
    2019/4/30
    如何应对系统提示U盘格式化?
    清风挽心
    2019/5/5
    基本上都是用楼主方法恢复照片 ,每次照片都能找到。现在正在恢复中。每次不小心删掉照片,只要有楼主方法在 直接不用慌 就很淡定的恢复了
    来我长街
    2019/5/17
    U盘老是提示文件被写保护了,可偶并没有打开写保护,是否坏了?
    故人载尘而归
    2019/5/28
    总算可以玩游戏了,U盘启动盘很好用,系统装完了非常干净,非常给力,服务很好,感觉非常好,话不多说,告别电脑小白生涯。
    那就笑吧
    2019/6/08
    超级感谢u盘杀毒软件,虽然身为计算机学院的学生,但是对于这些真的是不懂,U盘里面还有很多重要的文件,感谢帮我恢复,而且很简单。