有很多C#示例展示了如何操作文件和目录,但它们不可避免地使用不包含空格的文件夹路径。在现实世界中,我需要能够处理名称中包含空格的文件夹中的文件。我编写了下面的代码,显示了我是如何解决问题的。然而它似乎并不是很优雅,我想知道是否有人有更好的方法。
class Program
{
static void Main(string[] args)
{
var dirPath = @args[0] + "\\";
string[] myFiles = Directory.GetFiles(dirPath, "*txt");
foreach (var oldFile in myFiles)
{
string newFile = dirPath + "New " + Path.GetFileName(oldFile);
File.Move(oldFile, newFile);
}
Console.ReadKey();
}
}
此致 Nigel Ainscoe
答案 0 :(得分:1)
string newFile = Path.Combine(args[0], "New " + Path.GetFileName(oldFile));
或:
class Program
{
static void Main(string[] args)
{
Directory
.GetFiles(args[0], "*txt")
.ToList()
.ForEach(oldFile => {
var newFile = Path.Combine(
Path.GetDirectoryName(oldFile),
"New " + Path.GetFileName(oldFile)
);
File.Move(oldFile, newFile);
});
Console.ReadKey();
}
}