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 ...
随机推荐
- SQL Server 事务执行、回滚
MySQL 事务回滚.在执行删除.更新等操作时,防止误操作 生产环境更新数据时必用 begin tran --开启事务 begin--先在事务中 执行 UPDATE Sys_User SET Name ...
- Hugging News #0918: Hub 加入分类整理功能、科普文本生成中的流式传输
每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新.社区活动.学习资源和内容更新.开源库和模型更新等,我们将其称之为「Hugging Ne ...
- C++17 更通用的 union:variant
References 现代C++学习--实现多类型存储std::variant 如何优雅的使用 std::variant 与 std::optional std::variant 是 C++17 中, ...
- 【TCP】学习笔记:application/octet-stream
当浏览器在请求资源时,会通过http返回头中的content-type决定如何显示/处理将要加载的数据,如果这个类型浏览器能够支持阅览,浏览器就会直接展示该资源,比如png.jpeg.video等格式 ...
- 【C++库函数】stringstream-类型转换&&字符分割
继续填坑٩(•̤̀ᵕ•̤́๑),这次是 stringstream的内容,最初是看到它可以把字符串直接输出成int类型,惊了,但是一直不是很懂.在网上查了很多资料,才终于差不多理解.stringstre ...
- 森林消防智慧预警:火灾监测 Web GIS 可视化平台
前言 森林火灾是一种突发性强.破坏性大.处置救助较为困难的自然灾害.2021 年前三季度全国共发生森林火灾 527 起,受害森林面积约 2628 公顷,15 人死亡:发生草原火灾 12 起,受害草原面 ...
- vue子页面给App.vue传值
前端工程现在变成了单页面富文本的模式,整体布局定下来后,跳转只在<router-view>中展示,外层的布局不容易改变.最近发现有如下这个方法可以直接传值给App.vue,经过实践确实可以 ...
- 30 秒使用 Sealos 搭建个人密码管理器 Vaultwarden
我与 LastPass 的曲折恋情 超过 8 年网龄的我,注册过很多网站帐号,每个网站的密码我都用不同的复杂密码.一开始我全靠脑力记忆这些密码,后来渐渐觉得记起来很困难,就记录在笔记本上.但是随着时间 ...
- go Print 和 反射
0. 前言 在 小白学标准库之反射 reflect 篇中介绍了反射的三大法则.但并未给出具体示例介绍反射,感觉还是少了点什么.这里进一步通过fmt.Println 源码,查看反射如何使用的,算是对前文 ...
- OpenShift image registry 访问镜像
1. OpenShift 内部 image registry Openshift 自带内部 image registry,可通过 podman 实现 image 的 pull 和 push 操作. 对 ...