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算法之栈(stack)的实现
Aug 18 Python
浅谈python对象数据的读写权限
Sep 12 Python
Python机器学习算法之k均值聚类(k-means)
Feb 23 Python
pycharm下查看python的变量类型和变量内容的方法
Jun 26 Python
详解flask表单提交的两种方式
Jul 21 Python
Python实现的各种常见分布算法示例
Dec 13 Python
对python操作kafka写入json数据的简单demo分享
Dec 27 Python
python调用matlab的m自定义函数方法
Feb 18 Python
Python Django 页面上展示固定的页码数实现代码
Aug 21 Python
Python通过队列来实现进程间通信的示例
Oct 14 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
Nov 19 Python
Ubuntu16安装Python3.9的实现步骤
Dec 15 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/27 PHP
php实现随机生成易于记忆的密码
2015/06/19 PHP
laravel实现查询最后执行的一条sql语句的方法
2019/10/09 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
Jquery创建一个层当鼠标移动到层上面不消失效果
2013/12/12 Javascript
js setTimeout()函数介绍及应用以倒计时为例
2013/12/12 Javascript
浅谈JavaScript中null和undefined
2015/07/09 Javascript
jQuery插件echarts去掉垂直网格线用法示例
2017/03/03 Javascript
Node.js成为Web应用开发最佳选择的原因
2018/02/05 Javascript
video.js 实现视频只能后退不能快进的思路详解
2018/08/09 Javascript
Ant Design Pro 下实现文件下载的实现代码
2019/12/03 Javascript
js实现小球在页面规定的区域运动
2020/06/16 Javascript
Node.js web 应用如何封装到Docker容器中
2020/09/01 Javascript
vue使用echarts画组织结构图
2021/02/06 Vue.js
Python下使用Psyco模块优化运行速度
2015/04/05 Python
python 中字典嵌套列表的方法
2018/07/03 Python
python笔记之mean()函数实现求取均值的功能代码
2019/07/05 Python
python实现代码统计器
2019/09/19 Python
如何在python中写hive脚本
2019/11/08 Python
使用pandas实现连续数据的离散化处理方式(分箱操作)
2019/11/22 Python
Python下利用BeautifulSoup解析HTML的实现
2020/01/17 Python
解决python3插入mysql时内容带有引号的问题
2020/03/02 Python
Python爬虫抓取指定网页图片代码实例
2020/07/24 Python
世界上最大的糖果店:Dylan’s Candy Bar
2017/11/07 全球购物
蔻驰意大利官网:COACH意大利
2019/01/16 全球购物
多媒体专业自我鉴定
2014/02/28 职场文书
小学生学习感言
2014/03/10 职场文书
中学生旷课检讨书500字
2014/10/29 职场文书
2016年寒假学习心得体会
2015/10/09 职场文书
《金钱的魔力》教学反思
2016/02/20 职场文书
三好学生竞选稿范文
2019/08/21 职场文书
nginx限制并发连接请求数的方法
2021/04/01 Servers
Node.js实现断点续传
2021/06/23 Javascript
Log4j.properties配置及其使用
2021/08/02 Java/Android
Netty分布式客户端处理接入事件handle源码解析
2022/03/25 Java/Android
在虚拟机中安装windows server 2008的图文教程
2022/06/28 Servers