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列表去重的二种方法
Feb 14 Python
Python利用Beautiful Soup模块搜索内容详解
Mar 29 Python
python 匹配url中是否存在IP地址的方法
Jun 04 Python
pyspark 读取csv文件创建DataFrame的两种方法
Jun 07 Python
Python3使用pandas模块读写excel操作示例
Jul 03 Python
python字典的setdefault的巧妙用法
Aug 07 Python
tensorflow 实现从checkpoint中获取graph信息
Feb 10 Python
python3中sorted函数里cmp参数改变详解
Mar 12 Python
浅谈Python基础之列表那些事儿
May 11 Python
Python游戏开发实例之graphics实现AI五子棋
Nov 01 Python
如何在python中实现ECDSA你知道吗
Nov 23 Python
分享7个 Python 实战项目练习
Mar 03 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提取视频网站页面中的FLASH地址的代码
2010/04/17 PHP
基于php在各种web服务器的运行模式详解
2013/06/03 PHP
php+js实现图片的上传、裁剪、预览、提交示例
2013/08/27 PHP
javascript 数组排序函数
2009/08/20 Javascript
JavaScript计算字符串中每个字符出现次数的小例子
2013/07/02 Javascript
使用AngularJS创建单页应用的编程指引
2015/06/19 Javascript
js获取form表单所有数据的简单方法
2016/08/18 Javascript
浅析上传头像示例及其注意事项
2016/12/14 Javascript
Vue.js实战之通过监听滚动事件实现动态锚点
2017/04/04 Javascript
JS匹配日期和时间的正则表达式示例
2017/05/12 Javascript
JavaScript与Java正则表达式写法的区别介绍
2017/08/15 Javascript
微信小程序实现图片压缩功能
2018/01/26 Javascript
JS实现图片切换特效
2019/12/23 Javascript
小谈angular ng deploy的实现
2020/04/07 Javascript
Jquery滑动门/tab切换实现方法完整示例
2020/06/05 jQuery
解决echarts echarts数据动态更新和dataZoom被重置问题
2020/07/20 Javascript
[01:38]DOTA2辉夜杯 欢乐的观众现场采访
2015/12/26 DOTA
[00:10]DOTA2 TI9勇士令状明日上线
2019/05/07 DOTA
python多线程扫描端口示例
2014/01/16 Python
简单实现python画圆功能
2018/01/25 Python
python利用跳板机ssh远程连接redis的方法
2019/02/19 Python
Python实现朴素贝叶斯的学习与分类过程解析
2019/08/24 Python
python+django+rest框架配置创建方法
2019/08/31 Python
Python日志处理模块logging用法解析
2020/05/19 Python
Django REST 异常处理详解
2020/07/15 Python
python 实现&quot;神经衰弱&quot;翻牌游戏
2020/11/09 Python
H5 canvas中width、height和style的宽高区别详解
2018/11/02 HTML / CSS
金讯Java笔试题目
2013/06/18 面试题
营销主管自我评价怎么写
2013/09/19 职场文书
创业计划书撰写原则
2014/01/25 职场文书
全国税务系统先进集体事迹材料
2014/05/19 职场文书
加强干部作风建设整改方案
2014/10/24 职场文书
2014年林业工作总结
2014/12/05 职场文书
复兴之路观后感
2015/06/02 职场文书
卡特教练观后感
2015/06/08 职场文书
Python实现位图分割的效果
2021/11/20 Python