我有一个有趣的问题要解决,与目录重命名有关。
问题: 带有大量子文件夹的父文件夹,这些子文件夹按顺序命名 示例:
上述每个文件夹中都包含子文件夹和文件。名称的顺序非常重要,它们必须与上面的编号顺序相符。
在某些情况下,某些文件夹会被删除,而我的问题是再次重命名目录,以便所有文件按顺序出现
例如,如果它从500开始到600,并且有人删除了550,那么现在此逻辑应该将所有顺序从500重新命名为599
由于父文件夹包含大量子文件夹,因此我需要应用逻辑以在PARALLEL中运行
基本上,重命名 PARALLEL
中的文件夹尝试:Directory.Move()试图移动文件夹中的所有内容,这首先是浪费时间,其次是在并行运行时发生冲突(引发异常),因为另一个线程可能正在尝试在同一文件夹上播放
尝试过:VisalBasic..Rename ..(),其结果也相同,因为它只是Directory.Move()顶部的包装器
将“并行”运算减少为2并不能解决此问题。
唯一有效的方法是Powershell RenameItem(一次运行2个线程),它的确很不错,但我需要在C#中使用某些功能(请不要在C#中运行powershell)
因此,总而言之,需要重命名(可能不移动)并以并行逻辑运行。
这可能吗?