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中使用OpenCV进行人脸检测的例子
Apr 18 Python
Python pickle模块用法实例
Apr 14 Python
Django Admin实现上传图片校验功能
Mar 06 Python
python判断字符串是否是json格式方法分享
Nov 07 Python
python将list转为matrix的方法
Dec 12 Python
Python 寻找局部最高点的实现
Dec 05 Python
python3连接kafka模块pykafka生产者简单封装代码
Dec 23 Python
在 Python 中接管键盘中断信号的实现方法
Feb 04 Python
Python找出列表中出现次数最多的元素三种方式
Feb 24 Python
python如何保存文本文件
Jun 07 Python
Python RabbitMQ实现简单的进程间通信示例
Jul 02 Python
使用anaconda安装pytorch的实现步骤
Sep 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
基于ThinkPHP实现的日历功能实例详解
2017/04/15 PHP
PHP SESSION机制的理解与实例
2019/03/22 PHP
用js实现的抽象CSS圆角效果!!
2007/05/03 Javascript
node.js中的fs.readdirSync方法使用说明
2014/12/17 Javascript
jQuery中:image选择器用法实例
2015/01/03 Javascript
浅谈node.js中async异步编程
2015/10/22 Javascript
基于jQuery实现带动画效果超炫酷的弹出对话框(附源码下载)
2016/02/22 Javascript
JS及JQuery对Html内容编码,Html转义
2017/02/17 Javascript
jquery实现的table排序功能示例
2017/03/10 Javascript
深入理解ES7的async/await的用法
2017/09/09 Javascript
js+html获取系统当前时间
2017/11/10 Javascript
修改Nodejs内置的npm默认配置路径方法
2018/05/13 NodeJs
微信小程序基础教程之worker线程的使用方法
2019/07/15 Javascript
微信小程序之 catalog 切换实现解析
2019/09/12 Javascript
layer.open组件获取弹出层页面变量、函数的实例
2019/09/25 Javascript
vue-cli设置css不生效的解决方法
2020/02/07 Javascript
js实现简易ATM功能
2020/10/27 Javascript
[04:16]DOTA2全国高校联赛16强抽签
2018/05/02 DOTA
[54:58]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第一场 11.25
2020/11/25 DOTA
windows下安装Python和pip终极图文教程
2017/03/05 Python
python的socket编程入门
2018/01/29 Python
利用Python实现在同一网络中的本地文件共享方法
2018/06/04 Python
python通过Windows下远程控制Linux系统
2018/06/20 Python
python3使用pandas获取股票数据的方法
2018/12/22 Python
pytorch 求网络模型参数实例
2019/12/30 Python
django列表筛选功能的实现代码
2020/03/27 Python
python 利用toapi库自动生成api
2020/10/19 Python
Sixt美国租车:高端豪华车型自驾体验
2017/09/02 全球购物
测绘工程本科生求职信
2013/10/10 职场文书
小学毕业感言150字
2014/02/05 职场文书
公司成本主管岗位责任制
2014/02/21 职场文书
群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
工作经历证明范本
2015/06/15 职场文书
麦田里的守望者读书笔记
2015/06/30 职场文书
2016大一新生入学教育心得体会
2016/01/23 职场文书
2016年小学推普宣传周活动总结
2016/04/06 职场文书