该如何用c#操作硬盘

该如何用c#操作硬盘

主要是调用cmd处理,话不多说,下图代码——注释很清楚的,界面还是一如既往的对不起观众。。

//针对磁盘格式

private void Form1_Load(object sender, EventArgs e)

{

//提示窗口

//MessageBox.Show("操作有风险,数据无价请谨慎操作","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Exclamation);

if (MessageBox.Show("操作有风险,数据无价请谨慎操作", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.No)

{

this.Close();

}

 

//WMI查询

ManagementObjectSearcher search = new ManagementObjectSearcher("select * from win32_logicaldisk");

ManagementObjectCollection collection = search.Get();//检索

foreach (ManagementObject disk in collection)

{

cboDrive.Items.Add(disk["Name"].ToString());//添加磁盘名称

cboDrive.SelectedIndex = 0;//设置选择项

}

this.btnTranslate.Enabled = false;

}

 

private void btnShare_Click(object sender, EventArgs e)

{

if (cmbShareDisk.Text == "C" || cmbShareDisk.Text == "D" || cmbShareDisk.Text == "E" || cmbShareDisk.Text == "F")

{

Process p = new Process();  //创建进程对象

string shareName = txtShareName.Text;  //共享名

string sharePath = cmbShareDisk.Text;//共享路径

p.StartInfo.FileName = "cmd";   //启动进程名称

p.StartInfo.Arguments = " /c net share " + shareName + "=" + sharePath;//换行命令

p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;//窗口状态为隐藏

p.StartInfo.CreateNoWindow = true;//启动进程不创建窗口

p.StartInfo.UseShellExecute = false;//从可执行文件创建进程

p.StartInfo.RedirectStandardOutput = true;//将输出写入流中

p.Start();//启动进程

p.WaitForExit();

MessageBox.Show("设置共享成功!");

}

else

{

MessageBox.Show("请选择磁盘号!");

}

}

 

private void btnCancel_Click(object sender, EventArgs e)

{

this.Close();

}

 

private void btnCheak_Click(object sender, EventArgs e)

{

 

if (cboDrive.Text== "C" ||cboDrive.Text== "D" ||cboDrive.Text == "E" ||cboDrive.Text== "F"||cboDrive.Text=="G")

{

try

{

DriveInfo info = new DriveInfo(cboDrive.Text);//创建对象

//输出磁盘容量和可用空间

this.lblMessage.Text = string.Format("{0}盘的总容量为:{1}b,\n剩余空间大小为:{2}b,\n可用空间大小为:{3}b", cboDrive.Text, info.TotalSize, info.TotalFreeSpace, info.AvailableFreeSpace);

}

catch { this.lblMessage.Text ="请查看是否存在此磁盘"; }

 

 

}

else

{

this.lblMessage.Text = "请选择磁盘好!";

}

}

 

private void btnDiskCheak_Click(object sender, EventArgs e)

{

DriveInfo info = new DriveInfo(cmbDiskName.Text);//创建对象

try

{

txtFile.Text = info.DriveFormat.ToString();//显示磁盘格式

if (txtFile.Text == "NTFS")

{

 

this.btnTranslate.Enabled = false;//按钮不可用

}

if (txtFile.Text == "FAT32")

{

 

this.btnTranslate.Enabled = true;//按钮可用

}

}

catch { MessageBox.Show("请确认磁盘是否存在"); }

}

 

private void btnTranslate_Click(object sender, EventArgs e)

{

Process p = new Process();//创建进程对象

string drivename = cmbDiskName.Text;//盘符

p.StartInfo.FileName = "cmd";//启动进程名称

p.StartInfo.Arguments = "/c convert " +drivename+": /fs:ntfs";//执行命令

p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;//窗口设置为隐藏

p.StartInfo.CreateNoWindow = true;//启动进程不创建窗口

p.StartInfo.UseShellExecute = false;//从可执行文件创建进程

p.StartInfo.RedirectStandardOutput = true;//将输出写入流中

p.Start();//启动进程

p.WaitForExit();

MessageBox.Show("磁盘格式转换成功");

}

看完代码有没有一些启发?当然大神路过就好!好了,就这样。

转载请注明本文地址: http://www.xiaopuee.name/net2.html | 小蒲ee博客

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值