Sanal disk oluşturma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Sanal disk oluşturma
Merhaba arkadaşlar.
Delphi'de sanal disk oluşturma ile ilgili bilgi almak istiyorum.
Örneğin 10 MB'lık bir dosya oluşturup, bu dosyayı tercihe göre FAT veya NTFS ile biçimlendirmek istiyorum.
Yani önce istediğim boyutta bir dosya oluşturacak ardından bu dosyayı biçimlendirecek.
Bu işlemi nasıl yapabilirim?
Teşekkürler
Delphi'de sanal disk oluşturma ile ilgili bilgi almak istiyorum.
Örneğin 10 MB'lık bir dosya oluşturup, bu dosyayı tercihe göre FAT veya NTFS ile biçimlendirmek istiyorum.
Yani önce istediğim boyutta bir dosya oluşturacak ardından bu dosyayı biçimlendirecek.
Bu işlemi nasıl yapabilirim?
Teşekkürler
Re: Sanal disk oluşturma
Bunu delphi değil işletim sistemi yapar, bunu da yaptırtmak için comutları shellexecute tü sanırım onunla çalıştırabilirsin.
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
- fesiharslan
- Üye
- Mesajlar: 591
- Kayıt: 20 Eki 2006 11:37
- Konum: Erzurum
- İletişim:
Re: Sanal disk oluşturma
Merhaba;
Diskpart
Create vdisk file=C:\DelphiDisk.vhd maximum=10
select vdisk file=c:\DelphiDisk.vhd
attach vdisk
create partition primary
format fs=ntfs label=”DelphiDiskim” quick
assign letter=Y
2. Adım 10 MB'lık sanal disk oluşturur.
3. Adım Oluşturulan diski seçer. Bu adıma geçmeden önce biraz beklemeniz gerekebilir. VHD boyutuna göre işlem süresi uzar.
4. Adımda Disk bölümü oluşturulur.
5. Adımda NTFSdosya formatında hızlı biçimlendirme yapılmakta ve bölüm etiketi verilmektedir.
Son adımda ise oluşturulan disk bölümüne (Y) sürücü harfi atanmaktadır.
Daha detaylı parametre kullanımı için
http://ss64.com/nt/diskpart.html
Örnek ShellExecute kullanımı:
Aşağıdaki komutları sırası ile CMD (freeman35 dediği gibi Delphi shellexecute) ile çalıştırın.freeman35 yazdı:Bunu delphi değil işletim sistemi yapar, bunu da yaptırtmak için comutları shellexecute tü sanırım onunla çalıştırabilirsin.
Diskpart
Create vdisk file=C:\DelphiDisk.vhd maximum=10
select vdisk file=c:\DelphiDisk.vhd
attach vdisk
create partition primary
format fs=ntfs label=”DelphiDiskim” quick
assign letter=Y
2. Adım 10 MB'lık sanal disk oluşturur.
3. Adım Oluşturulan diski seçer. Bu adıma geçmeden önce biraz beklemeniz gerekebilir. VHD boyutuna göre işlem süresi uzar.
4. Adımda Disk bölümü oluşturulur.
5. Adımda NTFSdosya formatında hızlı biçimlendirme yapılmakta ve bölüm etiketi verilmektedir.
Son adımda ise oluşturulan disk bölümüne (Y) sürücü harfi atanmaktadır.
Daha detaylı parametre kullanımı için
http://ss64.com/nt/diskpart.html
Örnek ShellExecute kullanımı:
Kod: Tümünü seç
Uses
Winapi.ShellApi;
Kod: Tümünü seç
ShellExecute(0, nil, 'cmd.exe', '/C Diskpart', nil, SW_HIDE);
Re: Sanal disk oluşturma
* Uses kısmına Winapi.ShellApi eklediğim zaman "File not found, Winapi.ShellApi.dcu" şeklinde bir hata alıyorum. Önce bu kütüphaneyi yüklemem lazım, nerden yükleyebilirim?
* Verdiğiniz ShellExecute ile cmd penceresini açabilirim ama Diskpart ile ilgili işlemleri de programla yapmak istiyorum. Yani tıkladığım zaman kendisi vhd dosyasını oluştursun ve mount etsin. Elle manuel olarak Diskpartta herhangi bir şey yazmaya gerek kalmasın.
* Kod kısmının tamamını gönderebilirseniz sevinirim.
(mail adresim:
Teşekkürler.
Freeman35: Kod yazdırmak istiyorsan, mesajlarını Eleman arıyanlar bölümüne viewforum.php?f=14 yaz.
* Verdiğiniz ShellExecute ile cmd penceresini açabilirim ama Diskpart ile ilgili işlemleri de programla yapmak istiyorum. Yani tıkladığım zaman kendisi vhd dosyasını oluştursun ve mount etsin. Elle manuel olarak Diskpartta herhangi bir şey yazmaya gerek kalmasın.
* Kod kısmının tamamını gönderebilirseniz sevinirim.
(mail adresim:
Teşekkürler.
Freeman35: Kod yazdırmak istiyorsan, mesajlarını Eleman arıyanlar bölümüne viewforum.php?f=14 yaz.
- fesiharslan
- Üye
- Mesajlar: 591
- Kayıt: 20 Eki 2006 11:37
- Konum: Erzurum
- İletişim:
Re: Sanal disk oluşturma
Uses bölümüne Winapi.ShellApi yerine yalnızca ShellApi yazın.
Kodun tamamını gönderin demişiniz. Ortada bu konu ile ilgili yazdığım bir kod yok.
Burada işin mantığını anlattık.
Projenize ShellExecute ile komut göndererek yapmalısınız.
Kodun tamamını gönderin demişiniz. Ortada bu konu ile ilgili yazdığım bir kod yok.
Burada işin mantığını anlattık.
Projenize ShellExecute ile komut göndererek yapmalısınız.
Re: Sanal disk oluşturma
Tam olarak orada sıkıntı var zaten.
ShellExecute ile DiskPart'ı açtıktan sonra;
Diskpart
Create vdisk file=C:\DelphiDisk.vhd maximum=10
select vdisk file=c:\DelphiDisk.vhd
attach vdisk
create partition primary
format fs=ntfs label=”DelphiDiskim” quick
assign letter=Y
yukarıdaki işlemleri program ile nasıl halledebilirim? Yani elle girmeden..
ShellExecute ile DiskPart'ı açtıktan sonra;
Diskpart
Create vdisk file=C:\DelphiDisk.vhd maximum=10
select vdisk file=c:\DelphiDisk.vhd
attach vdisk
create partition primary
format fs=ntfs label=”DelphiDiskim” quick
assign letter=Y
yukarıdaki işlemleri program ile nasıl halledebilirim? Yani elle girmeden..
Re: Sanal disk oluşturma
Delphi yakasından önce Windows yakasında DISKPART'ın nasıl çalıştığını öğrenmelisiniz.
Size bir ipucu. Bu komutları bir TEXT dosyasına yazdığınızı sonra da DISKPART /S ile bu text dosyasını gösterdiğinizde olacakları değerlendirin.
bkz. bu linkteki technet.msdn "DiskPart Scripting" başlıklı kısım.
Size bir ipucu. Bu komutları bir TEXT dosyasına yazdığınızı sonra da DISKPART /S ile bu text dosyasını gösterdiğinizde olacakları değerlendirin.

Re: Sanal disk oluşturma
Değerli dostlar; Yardımlarınız için müteşekkirim.
Muharrem bey linki kontrol ettim, gayet faydalandım. Ancak Shellexecute ile birleştiremedim. Yani;
şeklinde bir kullanımla istediğimi yaptıramadım.
Muharrem bey linki kontrol ettim, gayet faydalandım. Ancak Shellexecute ile birleştiremedim. Yani;
Kod: Tümünü seç
ShellExecute(0, nil, 'cmd.exe', '/C Diskpart /s script.txt', nil, SW_SHOW);
- fesiharslan
- Üye
- Mesajlar: 591
- Kayıt: 20 Eki 2006 11:37
- Konum: Erzurum
- İletişim:
Re: Sanal disk oluşturma
Önce oluşturduğunuz Script'i doğrudan CMD ile deneyin. Böylece Script'in sağlıklı çalıştığından emin olursunuz. Çünkü ShellExecute ile çalıştırdığınız komutun hatalı olması durumuna CMD ekranı hızlı bir şekilde kapanır ve işlem sonucunu görünmez.
Re: Sanal disk oluşturma
Kod: Tümünü seç
ShellExecute(0, nil, 'cmd.exe', '/C Diskpart /s C:\script.txt', nil, SW_SHOW);
Ancak herhangi bir script.txt dosyası olmadan, program içinden script çalıştırabilir miyim?
Yani DiskPart ile çalıştıracağım komutları harici bir text dosyasına yazmayayım istiyorum.
Doğrudan program içerisinde yapamaz mıyım?