我有两个用于成像新PC的脚本。如果PC有CD光盘则为1,如果不有则为1:
使用CD Rom:
select disk 0
clean
create partition primary
select volume 1
assign letter="C"
format quick fs=ntfs
active
exit
没有CD Rom:
select disk 0
clean
create partition primary
select volume 0
assign letter="C"
format quick fs=ntfs
active
exit
我正在寻找一种方法将这些组合成一个脚本,基本上决定第0卷是硬盘还是光盘,然后根据YES hdd或YES cd-rom执行上面的一个或其他脚本。
我不确定使用Powershell做得更好,或者If语句是否适用于Diskpart脚本,或者所有这些都可以使用简单的CMD批处理文件完成。
答案 0 :(得分:1)
我不知道“Diskpart Script”是什么样的,但您可以通过修改此脚本顶部的scriptname变量来选择输出文件名,该变量将在您的磁盘信息中查找“CD-ROM”(像@aschipfl提到的wmic命令)并输出上面引用的一个或另一个命令块。它也可以在最后为你运行该命令。
@ECHO OFF
set scriptname=yourscript.scr
REM Look for "CD-ROM" in disk information
wmic logicaldisk |findstr "CD-ROM" 1>nul
if ERRORLEVEL 1 (
REM If we did not find "CD-ROM", set volnum to 0
echo "no cd rom"
set volnum=0
) else (
REM If we found "CD-ROM", set volnum to 1
echo "has a cd rom"
set volnum=1
)
REM Write the script
>"%scriptname%" echo.select disk 0
>>"%scriptname%" echo.clean
>>"%scriptname%" echo.create partition primary
>>"%scriptname%" echo.select volume %volnum%
>>"%scriptname%" echo.assign letter="C"
>>"%scriptname%" echo.format quick fs=ntfs
>>"%scriptname%" echo.active
>>"%scriptname%" echo.exit
REM run it by removing the 'REM' from the next line:
REM "%scriptname%"
答案 1 :(得分:1)
create partition
自动选择已创建的分区和相应的卷。所以,select volume
根本不是必需的。只需删除它。