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 self,cls,decorator的理解
Jul 13 Python
跟老齐学Python之眼花缭乱的运算符
Sep 14 Python
python实现的多线程端口扫描功能示例
Jan 21 Python
Linux下Python安装完成后使用pip命令的详细教程
Nov 22 Python
python使用time、datetime返回工作日列表实例代码
May 09 Python
python 弹窗提示警告框MessageBox的实例
Jun 18 Python
pytorch实现查看当前学习率
Jun 24 Python
Tensorflow使用Anaconda、pycharm安装记录
Jul 29 Python
属性与 @property 方法让你的python更高效
Sep 21 Python
Python存储读取HDF5文件代码解析
Nov 25 Python
python turtle绘制多边形和跳跃和改变速度特效
Mar 16 Python
Python可视化动图组件ipyvizzu绘制惊艳的可视化动图
Apr 21 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缓存技术介绍
2006/11/25 PHP
Javascript this 的一些学习总结
2012/08/02 Javascript
Javascript 判断是否存在函数的方法
2013/01/03 Javascript
如何实现修改密码时密码框显示保存到cookie的密码
2013/12/10 Javascript
利用JQuery制作符合Web标准的QQ弹出消息
2014/01/14 Javascript
JavaScript中string转换成number介绍
2014/12/31 Javascript
浅谈jquery回调函数callback的使用
2015/01/30 Javascript
15个非常实用的JavaScript代码片段
2016/12/18 Javascript
chorme 浏览器记住密码后input黄色背景处理方法(两种)
2017/11/22 Javascript
vue使用监听实现全选反选功能
2018/07/06 Javascript
vue.js图片转Base64上传图片并预览的实现方法
2018/08/02 Javascript
React手稿之 React-Saga的详解
2018/11/12 Javascript
js实现九宫格布局效果
2020/05/28 Javascript
[01:40]2014DOTA2国际邀请赛 三冰SOLO赛后采访恶搞
2014/07/09 DOTA
[14:24]Optic Gaming vs PSG LGD BO3
2018/06/07 DOTA
Python打包可执行文件的方法详解
2016/09/19 Python
python paramiko模块学习分享
2017/08/23 Python
python 3利用Dlib 19.7实现摄像头人脸检测特征点标定
2018/02/26 Python
Numpy 改变数组维度的几种方法小结
2018/08/02 Python
python代码 输入数字使其反向输出的方法
2018/12/22 Python
Python多线程模块Threading用法示例小结
2019/11/09 Python
python支持多线程的爬虫实例
2019/12/21 Python
Python实现捕获异常发生的文件和具体行数
2020/04/25 Python
Python基于os.environ从windows获取环境变量
2020/06/09 Python
HTML5 Web缓存和运用程序缓存(cookie,session)
2018/01/11 HTML / CSS
高级运动鞋:GREATS
2019/07/19 全球购物
英国高级健康和美容产品零售商:Life and Looks
2019/08/01 全球购物
零件设计自荐信范文
2013/11/27 职场文书
《大作家的小老师》教学反思
2014/04/16 职场文书
社会实践先进工作者事迹材料
2014/05/06 职场文书
中学教师暑期培训方案
2014/08/27 职场文书
爱护公共设施倡议书
2014/08/29 职场文书
2014年高中生自我评价范文
2014/09/26 职场文书
工程部主管岗位职责
2015/02/12 职场文书
投资公司董事长岗位职责
2015/04/16 职场文书
微信小程序 WeUI扩展组件库的入门教程
2022/04/21 Javascript