有许多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();
    }
}

问候,奈杰尔·恩斯科

#1楼 票数: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();
    }
}

  ask by Nigel Ainscoe translate from so

未解决问题?本站智能推荐:

2回复

在C#参数中是否看到多个参数作为包含空格的文件夹/名称的一个?

当我双击某个文件时,启动的应用程序的参数根据Process Explorer: “ C:\\ Program Files(x86)\\ MiKeSoft \\ PCG Tools \\ PcgTools.exe”调试D:\\ Muziek \\ Korg \\ Workstations \
2回复

如果文件夹名称包含空格,如何通过使用批处理文件执行任何.exe

我正在使用以下代码: 但是,尽管使用了双引号,但它的路径一直到“ C:\\ Users \\ bvino_000 \\ Documents \\ Visual”并显示错误。 如果我更改文件夹名称,则该命令将正常工作。 但是我不能做到这一点
1回复

文件夹名称包含名称c#目录

我正在使用带有Intranet服务器的Excel加载项。 我有员工的姓名,每个人在Intranet中都有一个文件夹,并且此文件夹中可能有一个Power Point文件,但可能没有。 所以我需要阅读每个名称的文件。 问题在于名称:每个文件夹名称都具有以下模式: 姓,名
3回复

如果文件夹包含空格,如何处理文件路径中的空格?

如果我的参数包含文件名,例如: 然后我得到错误:
1回复

使用C#获取SharpSVN中包含.sln和.java文件的文件夹名称

我想从给定的远程URL搜索.sln和.java文件:类似于http://olfandsub1.olf.com/nyts/ 。 我尝试了下面用于读取所有文件的代码,但无法正常工作。 您能解释一下代码中的GetList函数做什么吗? 还可以告诉我是否可以将文本框值用作代码中的proje
1回复

从C#文件夹中使用特定的服务器名称打开.sql文件SQL Server Management Studio

我需要使用c#从文件夹中打开.sql文件。 我正在使用此代码打开.sql文件 该代码可以正常工作,但是... 我想通过c#在特定的服务器连接中打开SSMS。 说明:我希望我的c#代码在特定的服务器连接中打开SSMS,以便在SSMS打开时用户不必连接到服务器。 谢谢
2回复

如何使用C#中的ProcessStartInfo启动名称包含逗号的文件夹?

我有一个应用程序,用于查询数据库以查找用于任务的嵌套文件夹的位置,然后打开此文件夹(使用ProcessStartInfo类启动explorer.exe并将文件夹名称作为参数传递)。 除许多包含逗号的文件夹外,此方法工作正常(不幸的是其中有很多!) 说,对于名为C:\\this,fol
3回复

如何使用文件夹名称C#获取文件夹路径

我正在使用C#通过提供文件夹名称来获取Windows系统中特定文件夹的确切路径。 他们通过提供文件夹名称来获取文件夹路径的任何方法,其中文件夹名称将是唯一的。