| 

.NET C# Java Javascript Exception

2
Wie kann ich am einfachsten Laufwerke über eigene Anwendungen programmgesteuert formatieren lassen, wobei das Dateisystem je nach Laufwerk sinnvoll variierbar sein muss? Gibt es vielleicht eine entsprechende Shell-Funktion?
01.08.2011
Tmüller 21 2
Wäre sinnvoll wenn Du noch angeben würdest unter welchem Betriebssystem und in welchen Sprache Du arbeitest
Jaksa 01.08.2011
3 Antworten
3
Du kannst ein Laufwerk auch formatieren indem Du per WMI (System.Management) arbeitest.

Hier ein Beispiel: (Quelle)
public static bool FormatDrive(string driveLetter, 
string fileSystem = "NTFS", bool quickFormat=true,
int clusterSize = 8192, string label = "", bool enableCompression = false )
{
if (driveLetter.Length != 2 || driveLetter[1] != ':'|| !char.IsLetter(driveLetter[0]))
return false;

//query and format given drive
ManagementObjectSearcher searcher = new ManagementObjectSearcher
(@"select * from Win32_Volume WHERE DriveLetter = '" + driveLetter + "'");
foreach (ManagementObject vi in searcher.Get())
{
vi.InvokeMethod("Format", new object[]
{ fileSystem, quickFormat,clusterSize, label, enableCompression });
}

return true;
}


EDIT: Eine schöne Übersicht über Methoden der WMI-Class Win32_Volume ist auch in der MSDN zu finden.
01.08.2011
Jorgen Schumann 1,6k 1 9
0
Am Einfachsten ist wohl wenn du einfach die Console verwendest und den Befehl damit ausführst.
Also "format c" da kannst du dann noch deine Parameter mitgeben.

Die Ausgabe kannst du umleiten und damit dann den Status feststellen

Wie man die Shell verwendest siehst du unter anderem hier:
Shell Commands within C#

Du kannst aber auch in anderen Sprachen die Shell / Console verwenden, da es ja nur ein einfacher prozess ist

Gruß
Michael
01.08.2011
michlG 1,7k 1 5
0
Das Paket Expect könnte hilfreich sein.
01.08.2011
Patrick-Oliver 81 1 1

Stelle deine System-Frage jetzt!