C#断言所有文件都可以重命名

C#断言所有文件都可以重命名,c#,file-io,assertion,batch-rename,C#,File Io,Assertion,Batch Rename,我有几组文件需要不时批量重命名。我不想重命名它们中的任何一个,除非可以断言它们都可以从一个重命名为另一个。是否有某种断言方法可以执行此操作,或者我必须编写自己的断言方法?事务性NTFS可以做到这一点。有一些.NET包装程序可以实现这一点 如果您不想使用该选项,请考虑在启动重命名之前以排他性模式打开所有文件。这可以保证每个文件都有一个未使用的时间点。当然,这些文件可以在您检查后立即打开,因此这只是一种启发式操作。您可以使用Windows的事务性文件系统作为原子操作来执行此操作,但是这方面的代码相当

我有几组文件需要不时批量重命名。我不想重命名它们中的任何一个,除非可以断言它们都可以从一个重命名为另一个。是否有某种断言方法可以执行此操作,或者我必须编写自己的断言方法?

事务性NTFS可以做到这一点。有一些.NET包装程序可以实现这一点


如果您不想使用该选项,请考虑在启动重命名之前以排他性模式打开所有文件。这可以保证每个文件都有一个未使用的时间点。当然,这些文件可以在您检查后立即打开,因此这只是一种启发式操作。

您可以使用Windows的事务性文件系统作为原子操作来执行此操作,但是这方面的代码相当复杂,因为没有.NET支持这种开箱即用的操作。是的,通常不可能。应该能够在Vista+系统上完成这项工作-其中一个示例用例是重命名的一致性。另请参阅我关于如何获得文件权限的回答:谢谢。你能具体说明我在这里要找什么吗?我不熟悉事务性NTFS或其包装器。除了向您指出文档和搜索引擎之外,您别无选择。信息都在那里。只需输入“Transactional NTFS.NET”。这个库可能会有所帮助:但我不知道它是否提供“重命名”功能。