0

我正在尝试创建一个批处理文件以在 WinPE 中运行。我想知道如何运行一个调用 diskpart 然后退出并继续运行批处理文件的大型批处理文件。当我调用 diskpart 时,它只是在运行 diskpart 部分后退出。我知道如何运行 diskpart 批处理文件。

 @echo off
diskpart /s createparts.txt

这是我用来创建分区的示例 diskpart 批处理文件。我希望在文件末尾运行 copyimg.bat 以继续将图像复制到新分区驱动器的自动处理。

select disk 0 
CREATE PARTITION PRIMARY size=100
format quick fs=ntfs label="OS"
assign letter="c"
active 
CREATE PARTITION PRIMARY 
format quick fs=ntfs 
assign letter=d 
exit
call copyimg.bat

我知道我在调用 copyimg.bat 之前调用了 exit,但是在运行其他与 diskpart 无关的脚本之前,我需要退出 diskpart。

4

3 回答 3

1

您不能在同一个文件中混合使用批处理命令和 diskpart 命令。您已经有两个文件,但是您将额外的批处理命令放在了错误的位置。

批处理文件应如下所示:

@echo off
diskpart /s createparts.txt
call copyimg.bat

diskpart 文件createparts.txt应如下所示:

select disk 0 
CREATE PARTITION PRIMARY size=100
format quick fs=ntfs label="OS"
assign letter="c"
active 
CREATE PARTITION PRIMARY 
format quick fs=ntfs 
assign letter=d 
exit

当diskpart 到达其指令的末尾时,它将退出并且批处理器将从它停止的点恢复。

于 2015-02-14T01:18:49.057 回答
0

将您从“选择磁盘 0”到“退出”的所有行放入 DiskPartCmds.txt 之类的文件中,然后用此行替换 bat 文件中的这些行。

DiskPart.exe < DiskPartCmds.txt
于 2015-02-13T16:37:57.707 回答
0

我对另一个脚本有同样的问题。在调用它而不是继续并执行以下命令后,它正在停止。我用cmd /C解决了它,例如:

cmd /C my_script_file.bat
another_command
more_stuff_here
于 2016-07-21T07:17:15.247 回答