Disk üzerinde bir işlem yaptığınızda komut ekranı üzerinden öncelikle Diskpart komutunu girerek buraya göndereceğiniz komutların çalışmasını sağlıyorsunuz. Ancak bunu .bat veya .cmd uzantılı çalışmanız içinde uygulamak istediğiniz de Diskpart'ı çağırdıktan sonra girdi ekranı gelir ve çalışma donar. Sonrasında yazdığınız komutları işleme almaz ve kullanıcıdan komutları girmesini ister.
Bu sorunu aşmanın oldukça basit bir yolu var. Diskpart komutlarını ".txt" uzantılı bir dosya içerisine kayıt ediyoruz. Daha sonra bu ".txt" dosyasının yolunu Diskpart'a verip komutları uygulatıyoruz.
Diskpart'a göndereceğiniz komutlar farklılık göstereceği için ".txt" içerisine yazılması gereken komutları batch script çalışmamızın içinden göndereceğiz. Aşağıdaki örnekten gidecek olursak ben bir Sanal Sabit Disk (VHD) oluştaracağım. Bunun için kullanıcıdan bazı veriler aldım ve bunları .txt dosyası içerisine uygulanması için yazdıracağım.
:: Parantez işaretini buradan açıp .txt içerisine gidecek olan komutları yazıyoruz.
:: Ayrıca komutların .txt yazılması için her kodun başında echo yazması gerekmektedir
(
echo create vdisk file="C:\test.vhd" maximum=30720 type=fixed
echo attach vdisk
echo convert gpt
echo create part primary
echo format quick label="VHD-%Random%"
echo assign letter=J
echo exit
) > C:\Config.txt
:: Tüm komutları yazdıktan sonra mutlaka echo exit ekleyin. Yoksa bunu manuel yapmanız gerekir.
:: Ayrıca parantezi kapatıp > operatörüyle .txt dosyasının yolunu yazıyoruz
:: "C:\Config.txt" içerisine yazdırdığımız komutları uygulatmak için aşağıdaki komutu ekliyoruz.
diskpart /s C:\Config.txt
Yukarıda verdiğim örnekteki gibi sizin veriniz tek satırdan veya mantıksal sorgulamalar nedeniyle parçalar halinde olabilir.
:: > operatörü kullandığımızda .txt dosyasını oluşturacağı zaman eski dosyayı siler ve yeni oluşturur.
:: Siz veriyi .txt içerisine parçalar halinde gönderdiğiniz zaman .txt'ye gidecek ilk komuta > operatörünü ekleyin.
echo create vdisk file="C:\test.vhd" maximum=30720 type=fixed > C:\Config.txt
:: Sonraki komutlarda .txt dosyasını silmeden eklemesi için >> operatörünü kullanacağız.
echo attach vdisk >> C:\Config.txt
echo exit >> C:\Config.txt
:: Komutları uygulamak için Diskpart komutumuzu giriyoruz.
diskpart /s C:\Config.txt
Operatörler konusunda daha detaylı bilgiler için;