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中使用列表生成式的教程
Apr 27 Python
Python中实现三目运算的方法
Jun 21 Python
python实现的用于搜索文件并进行内容替换的类实例
Jun 28 Python
python中正则的使用指南
Dec 04 Python
PyQt5实现让QScrollArea支持鼠标拖动的操作方法
Jun 19 Python
Django Rest framework解析器和渲染器详解
Jul 25 Python
python turtle 绘制太极图的实例
Dec 18 Python
TensorFlow基本的常量、变量和运算操作详解
Feb 03 Python
解决pyecharts运行后产生的html文件用浏览器打开空白
Mar 11 Python
Python如何爬取qq音乐歌词到本地
Jun 01 Python
Python趣味入门教程之循环语句while
Aug 26 Python
pytorch 6 batch_train 批训练操作
May 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
php4的session功能评述(一)
2006/10/09 PHP
Excel数据导入Mysql数据库的实现代码
2008/06/05 PHP
yii框架源码分析之创建controller代码
2011/06/28 PHP
php强制用户转向www域名的方法
2015/06/19 PHP
优化WordPress的Google字体以加速国内服务器上的运行
2015/11/24 PHP
Yii中CGridView实现批量删除的方法
2015/12/28 PHP
PHP错误处理函数register_shutdown_function使用示例
2017/07/03 PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
2019/03/14 PHP
背景图跟随鼠标移动的Mootools插件实现代码
2011/12/12 Javascript
js动态设置鼠标事件示例代码
2013/10/30 Javascript
jquery实现select选择框内容左右移动代码分享
2015/11/21 Javascript
移动端点击图片放大特效PhotoSwipe.js插件实现
2016/08/25 Javascript
js 能实现监听F5页面刷新子iframe 而父页面不刷新的方法
2016/11/09 Javascript
微信小程序 获取二维码实例详解
2017/06/23 Javascript
js实现京东轮播图效果
2017/06/30 Javascript
详解vue.js之绑定class和style的示例代码
2017/08/24 Javascript
vue路由拦截及页面跳转的设置方法
2018/05/24 Javascript
微信小程序自定义tab实现多层tab嵌套功能
2018/06/15 Javascript
sortable+element 实现表格行拖拽的方法示例
2019/06/07 Javascript
[32:39]完美世界DOTA2联赛循环赛 Forest vs Inki BO2第一场 11.04
2020/11/04 DOTA
Python实现子类调用父类的方法
2014/11/10 Python
安装Python的教程-Windows
2017/07/22 Python
Python标准库之itertools库的使用方法
2017/09/07 Python
Python multiprocess pool模块报错pickling error问题解决方法分析
2019/03/20 Python
python递归下载文件夹下所有文件
2019/08/31 Python
python3 实现口罩抽签的功能
2020/03/11 Python
HTML5新增的8类INPUT输入类型介绍
2015/07/06 HTML / CSS
C# .NET面试题
2015/11/28 面试题
写自荐信有哪些不宜?
2013/10/17 职场文书
公司司机岗位职责范本
2014/03/03 职场文书
基层党员公开承诺书
2014/05/29 职场文书
2014年护理工作总结范文
2014/11/14 职场文书
调解书格式范本
2015/05/20 职场文书
请病假条范文
2015/08/17 职场文书
高中化学教学反思
2016/02/22 职场文书
python前后端自定义分页器
2022/04/13 Python