• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

C#返回当前系统所有可用驱动器符号

OC/C/C++ 水墨上仙 1498次浏览

C#返回当前系统所有可用驱动器符号

// 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 + "root\\CIMV2";
				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 )
		{
			/*
			ListDrives,  Version 1.10
			List all drive letters in use on the specified computer
			Usage:  LISTDRIVES  [ computername ]
			Where:  'computername'  is the (optional) name of a remote computer
									(default if not specified: local computer)
			Written by Rob van der Woude
			http://www.robvanderwoude.com
			*/
			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" );
			Console.Error.WriteLine( "http://www.robvanderwoude.com" );
			return 1;
		}
	}
}


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明C#返回当前系统所有可用驱动器符号
喜欢 (0)
加载中……