我正在编写一个程序,它将定期(按计划)备份/格式化硬盘驱动器。在格式化过程中,我有第二个(相同的)驱动器,它将取代它。我想要做的就是锁定要格式化的驱动器(比如F:\)和(这部分是可选的),将来自F:\的任何流量重定向到另一个驱动器(比如G:\)。以编程方式锁定C盘中的硬盘驱动器#
那么,有没有一种使用C#的方式,我可以“锁定”F:\驱动器,以便没有人可以读/写它?我不希望有人在格式化之前尝试写入驱动器。对于我现在的目的,关键是不能写入驱动器,但我更喜欢完全锁定(读取和写入)。我知道我可以使用File.Open(FullPath, FileMode.Open, FileAccess.ReadWrite, FileShare.None)
来阻止其他人访问它。驱动器有类似的东西吗?
如果这是可能的,那么作为奖励,有没有办法可以将任何流量从F:\重定向到G:\? (G:\近乎实时地从F:\复制,所以任何读取/打开应该可以,只需在文件路径中用G代替F,但我不确定这是否可以通过编程方式实现)。
您是否尝试过书面方式来驱动,而格式化? 'format'不能自行锁定驱动器? – dcg
格式化卸载驱动器,所以是的。在备份和格式开始之间会有一段短暂的时间(因为它在*接近*实时备份)。我正在寻求锁定驱动器,以便我可以进行备份,然后开始格式化,而不会在备份或备份和格式之间进行备份时保存某些内容。 – BrianH