首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WinPE自动脚本

WinPE自动脚本
EN

Stack Overflow用户
提问于 2012-06-06 09:00:06
回答 2查看 22.8K关注 0票数 0

我刚刚用WinPE 3.0设置了一个可启动的UFD,我需要它在启动时自动运行几个脚本。

我想知道是否有人有任何建议来设置自动脚本,用于列出本地驱动器上的分区,显示系统日期,列出当前IP,以及捕获本地驱动器的映像。

如果有人能帮上忙那就太好了!谢谢。

EN

回答 2

Stack Overflow用户

发布于 2012-07-16 21:31:10

在将脚本放入WinPE之前,独立构建脚本并测试其功能。然后挂载您的winPE,这样您就可以对其进行编辑,并将所有脚本放在winPE中

挂载命令:

DISM /Mount-WIM /WimFile:C:..dir你的酒在哪里是located\ISO\sources\boot.wim /index:1 /MountDir:mount

然后把你的脚本放在你的挂载文件夹中的一个文件夹里(现在里面应该有东西了)。完成后,您可以通过修改..\Windows\System32\startnet.cmd文件轻松地调用它们。

注意:不要删除第一行的 wpeinit。只需在它后面添加:start <scriptname.bat or .vbs>

保存并关闭。

请记住:如果您在WinPE中执行处理与NIC有关的任何操作的脚本,则需要在winPE中插入网络驱动程序。加载winpe后,它会自动首先调用startnet.cmd

有关此操作的一些教程,可以在here上找到。

票数 1
EN

Stack Overflow用户

发布于 2013-11-29 03:26:36

我向可引导的WinPE映像添加了一个批处理文件,用于执行这些任务中的许多任务。它首先检查以确保您实际上正在运行WinPE (而不是从另一个操作系统运行批处理文件)。

代码语言:javascript
复制
set pVersion=WinPE not found
for /F "usebackq tokens=3" %%A IN (`reg query "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\WinPE" /v "Version" 2^>nul ^| find "Version"`) do (
set pVersion=%%A
)
echo WinPE Version: %pVersion%
IF /I "%pVersion%"=="3.0" GOTO ContinueProc
IF /I "%pVersion%"=="4.0" GOTO ContinueProc
echo *************************************************************************
echo **  ERROR: This restore batch file can only be used in WinPE version   **
echo **  3.0 and 4.0                                                        **
echo *************************************************************************
GOTO ExitInstall

然后我通过以下命令将磁盘0的磁盘、卷和分区信息列出给用户...

代码语言:javascript
复制
diskpart /s list.txt

...where list.txt包含...

代码语言:javascript
复制
list disk
list volume
select disk 0
list partition
exit

然后,我的批处理文件将清理磁盘0,格式化驱动器并应用磁盘映像。我使用imagex来捕获和应用图像。在您的例子中,您声明要捕获磁盘映像,您可以对网络驱动器、另一个硬盘驱动器、USB硬盘驱动器或UFD执行此操作。

例如:

代码语言:javascript
复制
imagex /capture c: y:\mydiskimage.wim "My system disk"

要列出IP,只需运行ipconfig即可。

如果希望您的批处理文件在启动时自动运行,您可以尝试编辑/创建一个winpeshl.ini,如果将其添加到WindowsSystem32文件夹中,将启动自定义进程。

我确保拥有startnet.cmd,然后列出我想要运行的内容。我已经添加了setlw.exe (在线搜索),以确保我的UFD始终是驱动器号Y。然后,您可以运行您的批处理文件作为最后一个项目。在本例中,我还添加了cmd,以便用户在完成所有操作后获得命令提示符。

代码语言:javascript
复制
[LaunchApps]
%SYSTEMDRIVE%\Windows\system32\startnet.cmd
%SYSTEMDRIVE%\Windows\system32\setlw.exe
Y:\sources\mybatchfile.cmd
%SYSTEMDRIVE%\Windows\system32\cmd.exe

注意:我的批处理文件启动的第一个命令之一:

代码语言:javascript
复制
chdir /D %~dp0

...to将目录更改为批处理文件的位置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10906990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档