2013-08-28 20 views
1

需要使用批處理文件獲取磁盤0上的分區數量,並根據這些分區的數量來運行特定的diskpart腳本。例如,如果只有兩個分區(SRP和C:卷),則運行script1.txt,如果有三個分區(恢復分區,EFI分區和C:卷),則運行script2.txt。使用批處理文件獲取磁盤0上的分區數量

請指教。

+0

請發佈提問之前做一個基本的搜索條件。如果您現在查看右邊的「相關」列表==== >>>>,您會看到有關獲取分區列表以及通過WMI或diskpart創建/刪除分區的幾個現有問題。一旦您完成了一些基礎研究並開始真正嘗試自己解決這個問題,我們很樂意爲您提供的關於您編寫​​的批處理代碼的具體問題提供幫助。祝你好運。 –

回答

2

如何:

@ECHO OFF 
:: generate diskpart script 
ECHO select disk 0 > temp.scr 
ECHO list partition >> temp.scr 
:: call diskpart and look for partition configurations, save in variable (next line) 
diskpart /s temp.scr | findstr /r "Partition.[0-9]" | find /c "Partition" > temp.txt 
SET /P N_PARTITIONS=<temp.txt 
:: do your logic 
IF "%N_PARTITIONS%" == "2" (
    diskpart /s script1.txt 
) ELSE IF "%N_PARTITIONS%" == "3" (
    diskpart /s script2.txt 
) ELSE (
    ECHO ERROR: Unsupported number of partitions 
) 
:: clean up 
DEL temp.scr temp.txt 
+0

+1,非常好用。 – Endoro

相關問題