C#使用命令行打开diskpart修改盘符
参考链接:
https://www.cnblogs.com/k98091518/p/6019296.html
https://learn.microsoft.com/zh-cn/windows-server/administration/windows-commands/diskpart
diskpart修改盘符
开机运行一批处理.内容如下:
diskpart /s c:\disk.txt
c:\disk.txt内容如下:#注释无效可以使用 rem
select disk 1 #1选择第二个硬盘 0选择第二个硬盘
select partition 1 #选择分区1 remove all #删除原来分区的盘符 以免分配盘符的时候冲突
select partition 3 #选择分区3
assign letter=h #设置盘符是h
remove all #删除原来分区的盘符
select partition 4 #选择分区4
assign letter=g #设置盘符是g
exit #退出diskpart

1 using System;
2 using System.Collections.Generic;
3 using System.IO;
4 using System.Linq;
5 using System.Text;
6 using System.Threading.Tasks;
7
8 namespace ConsoleApp2
9 {
10 class Program
11 {
12 static void Main(string[] args)
13 {
14 DriveInfo[] allDrives = DriveInfo.GetDrives();
15 var drive = allDrives?.Where(r => r.DriveType == DriveType.Fixed && r.Name.ToUpper().StartsWith("Z"))?.FirstOrDefault();
16 //判断是否有Z盘,没有Z盘执行命令
17 if (drive == null)
18 {
19 CommandLine(@"diskpart /s c:\disk.txt");
20 }
21
22 Console.WriteLine("盘符修改成功");
23 Console.ReadKey();
24
25 }
26
27 static void CommandLine(string cmdStr)
28 {
29 System.Diagnostics.Process myProcess = new System.Diagnostics.Process();
30 myProcess.StartInfo.FileName = "cmd.exe";//启动cmd命令
31 myProcess.StartInfo.UseShellExecute = false;//是否使用系统外壳程序启动进程
32 myProcess.StartInfo.RedirectStandardInput = true;//是否从流中读取
33 myProcess.StartInfo.RedirectStandardOutput = true;//是否写入流
34 myProcess.StartInfo.RedirectStandardError = true;//是否将错误信息写入流
35 myProcess.StartInfo.CreateNoWindow = true;//是否在新窗口中启动进程
36 myProcess.Start();//启动进程
37 myProcess.StandardInput.WriteLine(cmdStr);//执行计算机命令
38 }
39 }
40 }
disk.txt内容如下
list vol
select vol 3
assign letter=Z
select vol 2
remove
select vol 1
assign letter=D
list vol #查看所有卷
select vol 3 #选择第四个卷
assign letter=Z #把该卷改为Z盘
select vol 2 #选择第三个卷
remove #删除该卷
select vol 1 #选择第二个卷
assign letter=D #把该卷名称改为D盘
运行cmd命令输入:diskpart 回车如下图所示

C#使用命令行打开diskpart修改盘符的更多相关文章
- diskpart修改盘符
开机运行一批处理.内容如下:diskpart /s c:\disk.txt c:\disk.txt内容如下:select disk 1 #1选择第二个硬盘 0选择第二个硬盘sel ...
- windows 命令行打开浏览器
在命令行打开百度 start chrome www.baidu.com
- windows 增加右键功能 -->用命令行打开
windows 增加右键功能 -->用命令行打开 实现 注册表 以管理员权限CMD 到指定文件夹 Windows Registry Editor Version 5.00 [HKEY_CLASS ...
- Windows的命令行查看,修改,删除,添加环境变量
查看当前所有可用的环境变量:输入 set 即可查看. 显示某环境变量: 例如:echo %SystemDrive% 类似linux下面的echo $PATH这种用法. 首先明确一点:所有的在cmd命令 ...
- ubuntu 命令行下格式化U盘,磁盘分区
命令行格式化磁盘一般是:先卸载,后格式化. 先说格式化U盘的方法,格式化磁盘某个分区是同样的道理. 一般情况下U盘会挂载在/meida/<username>/<disk>目录下 ...
- Windows命令行打开常用界面
本文主要介绍Windows下命令行操作打开常用界面,使用方法为在DOS命令行下输入相关命令.可以减少多次操作界面.可以尝试在命令行执行下面提到的命令感受下,快捷键主要内容包括: 1.查看计算机的基本信 ...
- 如何开启mysql5.5的客户端服务 命令行打开方法
MySQL分为两个部分,服务器端和客户端,只有服务器端的服务开启后,才可以通过客户端登录到MySQL数据库.这里介绍如何用命令行方式开启mysql的客户端服务. 在计算机上安装好mysql软件 我 ...
- 在Win10中通过命令行打开UWP应用
近期由于需要在WinX菜单中添加几个UWP应用,但发现很难找到相应的命令行,Universal Apps 的快捷方式属性里也没有. 于是到网上搜了很久才找到一个E文的页面,试了一下确实可行,分享给大家 ...
- 解决Navicat无法连接到centos上的MySQL,但命令行可以,修改权限,MySQL密码权限受限:ERROR 1820 (HY000) ERROR 1819 (HY000)
问题分析 查看MySQL文档发现5.7版本后加入了对用户密码严格的管理规范,具体设置字段如下: validate_password_dictionary_file #插件用于验证密码强度的字典文件路径 ...
- 小技巧:使用命令行打开vscode 以及 sublime 工具
vscode手动打开vscode command + shift + p 打开命令面板(或者点击菜单栏 查看>命令面板)输入 shell 选择 install code command in P ...
随机推荐
- Nginx--用户认证&&访问控制&&限速&&状态访问
一 用户认证 某些网页只希望给特定的用户访问,可以设置用户认证,使用户访问时需要进行身份认证,只有认证通过才可访问网页 location / { root html; index index.html ...
- 微信公众号短链实时阅读量、点赞数爬虫(不会Hook可用)
众所周知,微信分享的公众号分享出的一般都是短链,在这个锻炼下使用浏览器打开并不能获取微信公众的阅读量点赞数等这些信息,如图1所示. 但是实际拥有详细信息的则是这个链接下面,提取链接所需要提交的信息包括 ...
- 判断客户端是PC还是移动端问题的解决方案
今天在帮 莲的Live 2D 做浏览器适配的时候学会的一段代码 利用 Javascript 进行判断 function isPC() { //是否为PC端 var userAgentInfo = na ...
- DBA实战面试题(一)
数据库面试测试题(一) 简述当前主流RDBMS软件有哪些?开源且跨平台的数据库软件有哪些? 参考答案 当前主流的数据库服务器软件有: Oracle . DB2 . SQL SERVER .MySQL ...
- Spring Boot对接Oracle数据库
Spring Boot对接Oracle数据库 最近学习了Oracle数据库,那么如何使用Spring Boot和MyBatis Plus对接Oracle数据库呢? 这就有了这篇随记,具体流程如下 1. ...
- mysq-DQL-过滤条件-where
- SpringBoot开启动态定时任务并手动、自动关闭
场景需求:在执行某个方法的两小时之后进行某个操作 涉及:定时任务.哈希表 需要注意:业务逻辑层是单一实例的,所以在定时任务类内操作业务逻辑层的某个属性和在业务逻辑层内操作的都是同一个. 疑问:Thre ...
- [转帖]pod容器开启pid限制
https://zhdya.gitee.io/zhdya/archives/ cgroup中对pid进行了隔离,通过更改docker/kubelet配置,可以限制pid总数,从而达到限制线程总数的 ...
- [转帖]git常用命令
https://www.cnblogs.com/xingmuxin/p/11416870.html GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Goog ...
- [转帖]查看oracle中表的索引
oracle中表的索引信息存在 user_indexes 和 user_ind_columns 两张表里面,其中 user_indexes 系统视图存放是索引的名称以及该索引是否是唯一索引等信息, u ...