各位用户为了找寻关于C#返回当前系统所有可用驱动器符号的方法的资料费劲了很多周折。这里教程网为您整理了关于C#返回当前系统所有可用驱动器符号的方法的相关资料,仅供查阅,以下为您介绍关于C#返回当前系统所有可用驱动器符号的方法的详细内容
本文实例讲述了C#返回当前系统所有可用驱动器符号的方法。分享给大家供大家参考。具体如下:
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104// The initial C# code for the "plain" WMI query was generated by
// WMI Code Generator, Version 5.00, //http://www.robvanderwoude.com/wmigen.php
using
System;
using
System.Management;
using
System.Collections.Generic;
namespace
RobvanderWoude
{
public
class
ListDrives
{
public
static
int
Main(
string
[] args )
{
try
{
string
computer =
string
.Empty;
#region Command line parsing
// Only 1 optional argument allowed: a remote computer name
if
( args.Length > 1 )
{
throw
new
Exception(
"Invalid command line arguments"
);
}
if
( args.Length == 1 )
{
// We'll display a 'friendly' message if help was requested
if
( args[0].StartsWith(
"/"
) || args[0].StartsWith(
"-"
) )
{
switch
( args[0].ToUpper( ) )
{
case
"/?"
:
case
"-?"
:
case
"/H"
:
case
"-H"
:
case
"--H"
:
case
"/HELP"
:
case
"-HELP"
:
case
"--HELP"
:
return
WriteError(
string
.Empty );
default
:
return
WriteError(
"Invalid command line argument"
);
}
}
else
{
computer =
"\"
+ args[0] +
""
;
}
}
#endregion
string
wmins = computer +
"rootCIMV2"
;
ManagementObjectSearcher searcher =
new
ManagementObjectSearcher( wmins,
"SELECT * FROM Win32_LogicalDisk"
);
List<
string
> drives =
new
List<
string
>( );
foreach
( ManagementObject queryObj
in
searcher.Get( ) )
{
drives.Add( queryObj[
"DeviceID"
].ToString( ) );
}
drives.Sort( );
string
drivelist =
""
;
foreach
(
string
drive
in
drives )
{
drivelist += ( drive +
" "
);
}
Console.WriteLine( drivelist.Trim( ) );
return
0;
}
catch
( Exception e )
{
return
WriteError( e );
}
}
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( exename +
", Version 1.10"
);
Console.Error.WriteLine(
"List all drive letters in use on the specified computer"
);
Console.Error.WriteLine( );
Console.Error.Write(
"Usage: "
);
Console.ForegroundColor = ConsoleColor.White;
Console.Error.Write( exename.ToUpper( ) );
Console.Error.WriteLine(
" [ computername ]"
);
Console.ResetColor( );
Console.Error.WriteLine( );
Console.Error.WriteLine(
"Where: 'computername' is the (optional) name of a remote computer"
);
Console.Error.WriteLine(
" (default if not specified: local computer)"
);
Console.Error.WriteLine( );
Console.Error.WriteLine(
"Written by Rob van der Woude"
);
return
1;
}
}
}
希望本文所述对大家的C#程序设计有所帮助。