C#判断指定分区是否是ntfs格式的方法

前端技术 2023/09/05 C#

本文实例讲述了C#判断指定分区是否是ntfs格式的方法。分享给大家供大家参考。具体如下:

using System;
using System.IO;
namespace RobvanderWoude
{
 class IsNTFS
 {
  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 == \"NTFS\" )
       {
        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( \"IsNTFS, Version 1.00\" );
   Console.Error.WriteLine( \"Return \'errorlevel\' 0 if the specified drive is NTFS 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 NTFS, 2 if not, 1 if not ready or invalid.\" );
   Console.Error.WriteLine( );
   Console.Error.WriteLine( \"Written by Rob van der Woude\" );
   return 1;
  }
 }
}

希望本文所述对大家的C#程序设计有所帮助。

本文地址:https://www.stayed.cn/item/13381

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。