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 functools模块学习总结
May 09 Python
详解Python设计模式编程中观察者模式与策略模式的运用
Mar 02 Python
python调用百度语音识别api
Aug 30 Python
python实现停车管理系统
Nov 30 Python
python隐藏终端执行cmd命令的方法
Jun 24 Python
python编写猜数字小游戏
Oct 06 Python
Transpose 数组行列转置的限制方式
Feb 11 Python
python实现将字符串中的数字提取出来然后求和
Apr 02 Python
Python爬虫防封ip的一些技巧
Aug 06 Python
Django利用AJAX技术实现博文实时搜索
May 06 Python
手把手教你使用TensorFlow2实现RNN
Jul 15 Python
如何利用python实现Simhash算法
Jun 28 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在XP下IIS和Apache2服务器上的安装
2006/09/05 PHP
获取URL文件名后缀
2013/10/24 PHP
PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
2014/07/23 PHP
拉动滚动条加载数据的jquery代码
2012/05/03 Javascript
刷新页面的几种方法小结(JS,ASP.NET)
2014/01/07 Javascript
JQuery给元素绑定click事件多次执行的解决方法
2014/05/29 Javascript
前端程序员必须知道的高性能Javascript知识
2016/08/24 Javascript
JavaScript判断浏览器对CSS3属性是否支持的多种方法
2016/11/13 Javascript
Underscore之Array_动力节点Java学院整理
2017/07/10 Javascript
js实现数组内数据的上移和下移的实例
2017/11/14 Javascript
Vue-router 中hash模式和history模式的区别
2018/07/24 Javascript
10分钟彻底搞懂Http的强制缓存和协商缓存(小结)
2018/08/30 Javascript
微信小程序左滑删除功能开发案例详解
2018/11/12 Javascript
Node快速切换版本、版本回退(降级)、版本更新(升级)
2021/01/07 Javascript
node脚手架搭建服务器实现token验证的方法
2021/01/20 Javascript
[02:37]2018DOTA2亚洲邀请赛赛前采访-EG篇
2018/04/03 DOTA
Python命名空间详解
2014/08/18 Python
pycharm中连接mysql数据库的步骤详解
2017/05/02 Python
python实现按长宽比缩放图片
2018/06/07 Python
Python爬虫:url中带字典列表参数的编码转换方法
2019/08/21 Python
python 实现PIL模块在图片画线写字
2020/05/16 Python
keras实现调用自己训练的模型,并去掉全连接层
2020/06/09 Python
image-set实现Retina屏幕下图片显示详细介绍
2012/12/24 HTML / CSS
HTML5 Canvas鼠标与键盘事件demo示例
2013/07/04 HTML / CSS
使用phonegap获取位置信息的实现方法
2017/03/31 HTML / CSS
详解如何获取localStorage最大存储大小的方法
2020/05/21 HTML / CSS
台湾线上百货零售购物平台:friDay购物
2017/08/18 全球购物
手工制作的意大利太阳镜和光学元件:Illesteva
2019/01/19 全球购物
Hanky Panky官方网站:内衣和睡衣
2019/07/25 全球购物
大一学生假期实习的自我评价
2013/10/12 职场文书
高中生毕业自我鉴定范文
2013/12/22 职场文书
甜点店创业计划书
2014/01/27 职场文书
119消防日活动总结
2014/08/29 职场文书
2014银行领导班子四风对照检查材料思想汇报
2014/09/25 职场文书
广告策划的实习心得体会总结!
2019/07/22 职场文书
Vue全家桶入门基础教程
2021/05/14 Vue.js