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;
}
}
}