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


Posted in Python onApril 18, 2015

本文实例讲述了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 )
  { 
   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#程序设计有所帮助。

Python 相关文章推荐
Python3字符串学习教程
Aug 20 Python
python实现class对象转换成json/字典的方法
Mar 11 Python
Python语言实现将图片转化为html页面
Dec 06 Python
Python+matplotlib绘制不同大小和颜色散点图实例
Jan 19 Python
解决python 未发现数据源名称并且未指定默认驱动程序的问题
Dec 07 Python
在Python中关于使用os模块遍历目录的实现方法
Jan 03 Python
Python Image模块基本图像处理操作小结
Apr 13 Python
Python企业编码生成系统之主程序模块设计详解
Jul 26 Python
python实现人机五子棋
Mar 25 Python
python实现Oracle查询分组的方法示例
Apr 30 Python
python3.8.1+selenium实现登录滑块验证功能
May 22 Python
python音频处理的示例详解
Dec 23 Python
python关闭windows进程的方法
Apr 18 #Python
python使用Queue在多个子进程间交换数据的方法
Apr 18 #Python
python获取当前计算机cpu数量的方法
Apr 18 #Python
使用Python编写vim插件的简单示例
Apr 17 #Python
用Python登录Gmail并发送Gmail邮件的教程
Apr 17 #Python
基于Python实现的百度贴吧网络爬虫实例
Apr 17 #Python
python中dir函数用法分析
Apr 17 #Python
You might like
PHP文件操作实现代码分享
2011/09/01 PHP
基于PHP开发中的安全防范知识详解
2013/06/06 PHP
使用php伪造referer的方法 利用referer防止图片盗链
2014/01/20 PHP
PHP图片水印类的封装
2017/07/06 PHP
PHP设计模式之抽象工厂模式实例分析
2019/03/25 PHP
PHP正则之正向预查与反向预查讲解与实例
2020/04/06 PHP
Web层改进II-用xmlhttp 无声息提交复杂表单
2007/01/22 Javascript
js数组方法扩展实现数组统计函数
2014/04/09 Javascript
Ext GridPanel加载完数据后进行操作示例代码
2014/06/17 Javascript
json格式的javascript对象用法分析
2016/07/04 Javascript
JS生成不重复的随机数组的简单实例
2016/07/10 Javascript
Javascript日期格式化format函数的使用方法
2016/08/30 Javascript
Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)
2017/01/20 Javascript
JavaScript中 this 指向问题深度解析
2017/02/21 Javascript
基于 Vue 实现一个酷炫的 menu插件
2017/11/14 Javascript
微信小程序使用蓝牙小插件
2019/09/23 Javascript
vue限制输入框只能输入8位整数和2位小数的代码
2019/11/06 Javascript
vue学习笔记之给组件绑定原生事件操作示例
2020/02/27 Javascript
[01:02:34]TFT vs VGJ.T Supermajor 败者组 BO3 第二场 6.5
2018/06/06 DOTA
简单介绍Python的轻便web框架Bottle
2015/04/08 Python
Python中用Decorator来简化元编程的教程
2015/04/13 Python
Python Web框架Tornado运行和部署
2020/10/19 Python
python matplotlib坐标轴设置的方法
2017/12/05 Python
python selenium 弹出框处理的实现
2019/02/26 Python
Python的numpy库下的几个小函数的用法(小结)
2019/07/12 Python
在pytorch中为Module和Tensor指定GPU的例子
2019/08/19 Python
python多进程并发demo实例解析
2019/12/13 Python
python关于变量名的基础知识点
2020/03/03 Python
Python通过Schema实现数据验证方式
2020/11/12 Python
css3弹性盒子flex实现三栏布局的实现
2020/11/12 HTML / CSS
违反校纪校规检讨书
2014/02/15 职场文书
应聘文员自荐信范文
2014/03/11 职场文书
工厂清洁工岗位职责
2015/02/14 职场文书
初中毕业生自我评价
2015/03/02 职场文书
2015年入党积极分子评语
2015/03/26 职场文书
道歉情书大全
2015/05/12 职场文书