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 ...
随机推荐
- Solon Web 开发:四、认识请求上下文(Context)
Handler + Context 架构,是Solon Web 的基础.在 Context (org.noear.solon.core.handle.Context)里可以获取: 请求相关的对象与接口 ...
- 累加求和 1~ n求和
a=1 ~ n 的求和 \[\sum_{a=1}^n a \] 公式:(首项 + 末项) * 项数/2 如果 a=1. n = 10 => (1+10)10/2 = 55 Python 代码 a ...
- 重磅 | Hugging Face 第一本中文图书正式出版!
Hugging Face 为机器学习从业者们提供了一个协作和交流的平台,你可以在 Hugging Face Hub 上开源自己的机器学习模型.数据集或者创建机器学习应用等,Hugging Face 还 ...
- Visual Studio 2022 激活,安装教程,内附Visual Studio激活码、密钥
visual studio 2022(vs 2022)是由微软官方出品的最新版本的开发工具包系列产品.它是一个完整的开发工具集,囊括了整 visual studio 2022是一款由微软全新研发推出的 ...
- ABAP步循环
一.在界面中循环输出行数据,屏幕直接画出行数,需要计算翻页,一旦界面行数变动,则需要更改代码,所以引入步循环 二.步循环 首先在界面上画出要展示的内容 注意,在步循环中,文本的名称和输入框的名称不能相 ...
- 【QT】tr()的作用
函数 tr() 全名是 QObject::tr() ,被它处理的 字符串可以 使用工具提取出来翻译成其他语言, 也就是做国际化使用. 只要记住,Qt 的最佳实践:如果你想让你的程序国际化的话,那么,所 ...
- UVA 156 Ananagrams STL应用
https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&prob ...
- Codeforces Round #713 (Div. 3) Person Editorial
补题链接:Here 1512A - Spy Detected! 题意:找到唯一不同数的下标 复制数组然后比较 \(a_1\) int main() { ios_base::sync_with_stdi ...
- 3 分钟创建 Serverless Job 定时获取新闻热搜
不用掏手机,不用登微博,借助 SAE 定时任务就可以实现每小时获取实时新闻热搜!SAE 场景体验火热开启中,参与还可领好礼! Job 作为一种运完即停的负载类型,在企业级开发中承载着丰富的使用场景.S ...
- confiparse遇到特殊字符的解析处理
一.背景:confiparse类解析mysql密码时发现包含特殊字符时出现报错的情况:配置文件如下: 代码如下: import configparser import os #读取配置 conf=co ...