1

新しい PC をイメージングするためのスクリプトが 2 つあります。PC に CD-ROM がある場合は 1 つ、ない場合は 1 つ:

CD ロムあり:

    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

これらを 1 つのスクリプトに結合して、基本的にボリューム 0 がハード ドライブか CD-ROM かを判断し、YES hdd または YES CD-ROM に基づいて上記のいずれかのスクリプトを実行する方法を探しています。

これを Powershell で実行した方がよいのか、If ステートメントを Diskpart スクリプトで実行できるのか、単純な CMD バッチ ファイルでこれらすべてを実行できるのかはわかりません。

4

2 に答える 2

1

「Diskpart スクリプト」がどのようなものかはわかりませんが、このスクリプトの先頭にある scriptname 変数を変更することで、出力用のファイル名を選択できます。これにより、ディスク情報で「CD-ROM」が検索されます (wmic コマンドのような@aschipfl を参照)、上記で参照したコマンドの 1 つまたは他のブロックを出力します。最後にそのコマンドを実行することもできます。

@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%"
于 2016-03-29T22:36:27.450 に答える