【发布时间】:2017-10-17 02:05:06
【问题描述】:
我正在编写一个程序,该程序将定期(按计划)备份/格式化硬盘。在格式化期间,我有一个第二个(相同的)驱动器来代替它。我想要做的是锁定要格式化的驱动器(比如说 F:\)和(这部分是可选的......)将任何流量从 F:\ 重定向到另一个驱动器(比如说 G:\)。
那么,有没有一种方法可以使用 C# 来“锁定”F:\ 驱动器,这样任何人都无法读取/写入它?我不希望有人在运行格式之前尝试写入驱动器。就我现在的目的而言,关键是不能写入驱动器,但我更喜欢完全锁定(读取和写入)。我知道对于一个文件,我可以使用File.Open(FullPath, FileMode.Open, FileAccess.ReadWrite, FileShare.None) 来防止其他人访问它。驱动器有类似的东西吗?
如果可能,那么作为奖励,有没有办法可以将任何流量从 F:\ 重定向到 G:\? (G:\ 正在近乎实时地从 F:\ 复制,因此任何读取/打开都应该可以在文件路径中简单地将 F 替换为 G,但我不确定这是否可以通过编程方式实现。
【问题讨论】:
-
格式化时是否尝试过写入驱动器?
format不会自己锁驱动吗? -
格式化卸载驱动器,所以是的。不过,在备份和开始格式化之间会有一段短暂的时间(因为它是以接近实时的方式备份的)。我正在寻找锁定驱动器,以便我可以进行备份,然后开始格式化,而不会有在备份时保存某些内容的风险,或者更糟糕的是,在备份和格式化之间。