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 相关文章推荐
python类定义的讲解
Nov 01 Python
用Python实现筛选文件脚本的方法
Oct 27 Python
python爬虫基础教程:requests库(二)代码实例
Apr 09 Python
pip指定python位置安装软件包的方法
Jul 12 Python
Python3enumrate和range对比及示例详解
Jul 13 Python
Django 全局的static和templates的使用详解
Jul 19 Python
Python(PyS60)实现简单语音整点报时
Nov 18 Python
使用ITK-SNAP进行抠图操作并保存mask的实例
Jul 01 Python
python db类用法说明
Jul 07 Python
Python描述数据结构学习之哈夫曼树篇
Sep 07 Python
手残删除python之后的补救方法
Jun 26 Python
PYTHON使用Matplotlib去实现各种条形图的绘制
Mar 22 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读注册表
2006/10/09 PHP
php中使用redis队列操作实例代码
2013/02/07 PHP
php下载文件,添加响应头的简单实例
2016/09/22 PHP
php文件包含的几种方式总结
2019/09/19 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
jquery提示 &quot;object expected&quot;的解决方法
2009/12/13 Javascript
JS中toFixed()方法引起的问题如何解决
2012/11/20 Javascript
js中的数组Array定义与sort方法使用示例
2013/08/29 Javascript
jQuery源码解读之removeAttr()方法分析
2015/02/20 Javascript
Jquery中的$.each获取各种返回类型数据的使用方法
2015/05/03 Javascript
JS中使用变量保存arguments对象的方法
2016/06/03 Javascript
简单的JS轮播图代码
2016/07/18 Javascript
jqGrid翻页时数据选中丢失问题的解决办法
2017/02/13 Javascript
vue中使用element-ui进行表单验证的实例代码
2018/06/22 Javascript
node链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】
2019/03/07 Javascript
vue中组件的3种使用方式详解
2019/03/23 Javascript
python数据清洗系列之字符串处理详解
2017/02/12 Python
Python学习笔记之解析json的方法分析
2017/04/21 Python
python 判断是否为正小数和正整数的实例
2017/07/23 Python
Django视图和URL配置详解
2018/01/31 Python
python json.loads兼容单引号数据的方法
2018/12/19 Python
pyqt弹出新对话框,以及关闭对话框获取数据的实例
2019/06/18 Python
python求最大公约数和最小公倍数的简单方法
2020/02/13 Python
Java ExcutorService优雅关闭方式解析
2020/05/30 Python
Selenium python时间控件输入问题解决方案
2020/07/22 Python
Python将QQ聊天记录生成词云的示例代码
2021/02/10 Python
使用CSS3编写类似iOS中的复选框及带开关的按钮
2016/04/11 HTML / CSS
大学旷课检讨书
2014/01/28 职场文书
安全生产计划书
2014/05/04 职场文书
企业文化标语大全
2014/06/10 职场文书
四风问题自我剖析材料
2014/10/07 职场文书
麦田里的守望者读书笔记
2015/06/30 职场文书
写好求职信的技巧解密
2019/05/14 职场文书
如何写好一份优秀的工作总结?
2019/06/21 职场文书
使用goaccess分析nginx日志的详细方法
2021/07/09 Servers
用JS写一个发布订阅模式
2021/11/07 Javascript