从C#vs System.io.file.move执行PowerShell脚本以重命名



在C#中重命名文件的最佳性,稳定和首选方法是什么?我说的是相当复杂的正则操作,而不仅仅是一个简单的替换,甚至可能是数十或数百个文件。

我应该让C#与powershell通信,并让其使用一些脚本为我重命名,或者我应该以不同的方式进行此处所示:

System.IO.File.Move("oldfilename", "newfilename");

我很感激一些见解。

缩小我的问题:我应该单独使用C#还是与PowerShell结合使用COPARESHELL进行大量自动化文件重命名?

我将使用powershell内部函数。我看不到集成.NET功能的好处。

您可以从这样的东西开始:

Get-ChildItem -Path $sourceDir -Filter $format -Recurse | Move-Item -Destination $sourceDir -Whatif 

-Whatif-参数只能打印出要做的事情。这对于测试您的参数很有用。

但是,如果您想使用C#,请记住将其包装在试用中:

try
{
    File.Move("oldfilename", "newfilename"); // Try to move
    Console.WriteLine("Moved"); // Success
}
catch (IOException ex)
{
    Console.WriteLine(ex); // Write error
}

最新更新