c#如何判断驱动器分区格式?c#判断指定驱动器是否是fat分区

发布时间:2020-09-23编辑:脚本学堂
本文介绍了c#如何判断驱动器分区格式的方法,c#中driveformat属性判断指定驱动器是否是fat分区格式的实现代码。

c#判断指定驱动器是否是fat分区格式

代码:
 

复制代码 代码示例:
using System;
using System.IO;
namespace RobvanderWoude
{
 class IsFAT
 {
public static int Main( string[] args )
{
 try
 {
if ( args.Length == 0 )
{
 return WriteError( string.Empty );
}
if ( args.Length > 1 )
{
 return WriteError( "Invalid number of arguments." );
}
string drive = args[0].ToUpper( );
DriveInfo[] allDrives = DriveInfo.GetDrives( );
foreach ( DriveInfo drv in allDrives )
{
 if ( drive == drv.Name.Substring( 0, 2 ) )
 {
if ( drv.IsReady )
{
 Console.WriteLine( drv.DriveFormat.ToUpper( ) );
 if (drv.DriveFormat == "FAT" || drv.DriveFormat == "FAT32")
 {
return 0;
 }
 else
 {
return 2;
 }
}
else
{
 Console.WriteLine(drv.DriveType.ToString().ToUpper());
 return 1;
}
 }
}
return WriteError( "Invalid drive specification." );
 }
 catch ( Exception e )
 {
// Display help text with error message
return WriteError( e );
 }
}
// Code to display help and optional error message,
//by Bas van der Woude
public static int WriteError( Exception e )
{
 return WriteError( e == null ? null : e.Message );
}
public static int WriteError( string errorMessage )
{
 string fullpath = Environment.GetCommandLineArgs().GetValue(0).ToString();
 string[] program = fullpath.Split( '' );
 string exeName = program[program.GetUpperBound(0)];
 exeName = exeName.Substring(0, exeName.IndexOf('.'));
 if ( string.IsNullOrEmpty( errorMessage ) == false )
 {
Console.Error.WriteLine();
Console.ForegroundColor = ConsoleColor.Red;
Console.Error.Write( "ERROR: " );
Console.ForegroundColor = ConsoleColor.White;
Console.Error.WriteLine( errorMessage );
Console.ResetColor();
 }
 Console.Error.WriteLine();
 Console.Error.WriteLine("IsFAT, Version 1.00");
 Console.Error.WriteLine("Return 'errorlevel' 0 if the specified drive is FAT or FAT32 formated");
 Console.Error.WriteLine();
 Console.Error.Write("Usage: ");
 Console.ForegroundColor = ConsoleColor.White;
 Console.Error.WriteLine("{0} drive:", exeName.ToUpper());
 Console.ResetColor( );
 Console.Error.WriteLine();
 Console.Error.WriteLine("Note: Returns 0 if FAT or FAT32, 2 if not, 1 if not ready or invalid.");
 Console.Error.WriteLine();
 Console.Error.WriteLine("Written by Rob van der Woude");
 return 1;
}
 }
}