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正则分析nginx的访问日志
Jan 17 Python
Pyspider中给爬虫伪造随机请求头的实例
May 07 Python
Numpy数据类型转换astype,dtype的方法
Jun 09 Python
详解flask入门模板引擎
Jul 18 Python
Django中日期处理注意事项与自定义时间格式转换详解
Aug 06 Python
Python实现使用request模块下载图片demo示例
May 24 Python
Python的Tkinter点击按钮触发事件的例子
Jul 19 Python
python可视化篇之流式数据监控的实现
Aug 07 Python
Python 异步协程函数原理及实例详解
Nov 13 Python
Pytorch之保存读取模型实例
Dec 30 Python
Django框架models使用group by详解
Mar 11 Python
Python中的程序流程控制语句
Feb 24 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配置参数总结
2013/06/14 PHP
Yii2中Restful API原理实例分析
2016/07/25 PHP
Yii2框架配置文件(Application属性)与调试技巧实例分析
2019/05/27 PHP
JS+CSS实现分类动态选择及移动功能效果代码
2015/10/19 Javascript
AngularJS 中文API参考手册
2016/07/28 Javascript
基于bootstrap-datetimepicker.js不支持IE8的快速解决方法
2016/11/07 Javascript
详解Nodejs之静态资源处理
2017/06/05 NodeJs
vue基于mint-ui实现城市选择三级联动
2020/06/30 Javascript
jquery引入外部CDN 加载失败则引入本地jq库
2018/05/23 jQuery
说说Vue.js中的functional函数化组件的使用
2019/02/12 Javascript
vue与bootstrap实现简单用户信息添加删除功能
2019/02/15 Javascript
微信小程序五子棋游戏的棋盘,重置,对弈实现方法【附demo源码下载】
2019/02/20 Javascript
vue element和nuxt的使用技巧分享
2021/01/14 Vue.js
Python读写Json涉及到中文的处理方法
2016/09/12 Python
Python基于numpy灵活定义神经网络结构的方法
2017/08/19 Python
Python3安装Scrapy的方法步骤
2017/11/23 Python
通过Python 接口使用OpenCV的方法
2018/04/02 Python
对Python中plt的画图函数详解
2018/11/07 Python
python实现指定字符串补全空格、前面填充0的方法
2018/11/16 Python
python 函数内部修改外部变量的方法
2018/12/18 Python
python实现飞机大战游戏
2020/10/26 Python
深入解析神经网络从原理到实现
2019/07/26 Python
python Django 创建应用过程图示详解
2019/07/29 Python
如何使用Python破解ZIP或RAR压缩文件密码
2020/01/09 Python
Python开发之pip安装及使用方法详解
2020/02/21 Python
深入浅析Python 命令行模块 Click
2020/03/11 Python
jupyter notebook插入本地图片的实现
2020/04/13 Python
MYSQL相比于其他数据库有哪些特点
2013/07/19 面试题
英语专业学子个人的自我评价
2013/10/02 职场文书
标准毕业生自荐信范文
2013/11/04 职场文书
教师辞职报告范文
2014/01/20 职场文书
怎么写自荐书范文
2014/02/12 职场文书
2015年英语教研组工作总结
2015/05/23 职场文书
忠犬八公的故事观后感
2015/06/05 职场文书
yyds什么意思?90后已经听不懂00后讲话了……
2022/02/03 杂记
聊聊mysql都有哪几种分区方式
2022/04/13 MySQL