使用 C++ 以编程方式将新字母分配给现有驱动器
Posted
技术标签:
【中文标题】使用 C++ 以编程方式将新字母分配给现有驱动器【英文标题】:Programmatically assign new letter to existing drive with C++ 【发布时间】:2011-01-07 14:11:31 【问题描述】:我想更改驱动器号。例如,我可以使用diskpart 为驱动器(U 盘或新硬盘)分配一个新盘符。
如何在 C/C++ 中实现它?
【问题讨论】:
我在 msdn 上遇到了this article。也许它可以帮助某人(这正是我想要的)。 检查以下链接:msdn.microsoft.com/en-us/library/windows/desktop/…(这是一个带有源代码的示例,对您想要做的事情非常有用)以及对“DefineDosDevice”功能的引用:msdn.microsoft.com/en-us/library/windows/desktop/…希望这有帮助 【参考方案1】:SetVolumeMountPoint(L"X:\", volumeName.c_str())
【讨论】:
来自文档“...另一个卷上的目录(例如,Y:\MountX)。字符串必须以尾部反斜杠 ('\') 结尾。” -- 这是一个很好的坏例子。 是的,幸运的是这个例子在这种情况下是无关紧要的。【参考方案2】:一个简单而简单的方法是直接向diskpart
:
int main ()
int i = system("diskpart ..."); // Add args here.
cout << "command exited with code: " << i;
// ...
它有一个/s
参数,您可以使用该参数提供一个在diskpart
内运行的脚本,因此您可以使用相关子命令简单地编写一个文本文件,然后使用您的system(...)
将其传递给diskpart
打电话。
【讨论】:
谢谢,如果我不能用 c++ 代码实现它,那是我最后的选择以上是关于使用 C++ 以编程方式将新字母分配给现有驱动器的主要内容,如果未能解决你的问题,请参考以下文章