返回顶部

收藏

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. Vincent Zhao 发表 2013-01-22 01:41:41 创建自己的awaitable类型
  2. skeet 发表 2012-01-30 18:32:06 Currying vs partial function application
  3. IT路人 发表 2013-07-05 05:00:00 利用C# .net在WP8里面异步加载任务
  4. welpher 发表 2012-03-06 01:34:51 Chrome下AJAX不成功
  5. admin 发表 2013-09-18 02:06:10 c#类库中使用Session
  6. 嘟嘟 发表 2013-06-30 14:18:20 在Form无边框的情况下移动窗口和移动控件的方法
  7. 博主 发表 2009-08-25 04:00:00 c#代码测试。。。也是本人人生第一个c#程序
  8. 逝去日子 发表 2014-11-25 13:46:39 asp中button按钮默认相应回车事件
  9. root 发表 2015-01-18 03:46:02 理解C#系列 / 核心C# / 变量
  10. mengskysama 发表 2015-01-15 07:44:39 Java RSA/ECB/NoPadding in C# Python
  11. 博主 发表 2009-05-11 21:58:20 C#实现ComboBox选择颜色的控件
  12. root 发表 2015-04-19 10:38:01 C#协变和逆变

发表评论