返回顶部

收藏

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( '.' ) );

            /*
            IsNTFS,  Version 1.00
            Return 'errorlevel' 0 if the specified drive is NTFS formated

            Usage:    ISNTFS  drive:

            Note:     Returns 'errorlevel' 0 if NTFS, 2 if not, 1 if not ready or invalid

            Written by Rob van der Woude
            http://www.robvanderwoude.com
            */
            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" );
            Console.Error.WriteLine( "http://www.robvanderwoude.com" );
            return 1;
        }
    }
}

标签:ntfs,分区格式,C#

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. 博主 发表 2013-02-01 06:04:46 C# 版的 Lua
  2. skeet 发表 2012-01-12 01:34:31 Eduasync part 18: Changes between the Async CTP an
  3. NaN 发表 2013-05-23 09:26:00 在Windows环境下使用C#快速进行GTK程序开发
  4. itcodes 发表 2013-08-01 17:13:34 C#精品插件Resharper介绍
  5. 国祥 发表 2013-09-11 09:11:24 NTFS的数据完整性和可恢复性——非原创(译文)
  6. Xiang 发表 2011-12-12 08:28:01 How to Create Krypton Form
  7. 逝去日子 发表 2014-08-03 04:21:45 C#中的DataSet,DataTable,DataView
  8. 张浩浩 发表 2014-07-19 14:22:50 使用C#开发ActiveX控件全攻略
  9. 博主 发表 2013-07-15 21:44:00 使用 C# 编写简易 ASP.NET Web 服务器
  10. 逝去日子 发表 2015-04-01 03:10:53 c#中的扩展方法
  11. 博主 发表 2010-04-03 23:24:13 Blunt C# (1): 自动关机
  12. root 发表 2015-04-19 04:38:03 C# mongodb [上]

发表评论