"Could not find a part of the path" C# 中的错误消息
"Could not find a part of the path" error message in C#
我试图同时从文件夹及其子文件夹中删除空格,但我收到了该错误消息。这是我的代码:
Directory.Move(@path, @path.Replace(" ", String.Empty));
其中路径是C:\Users\meli\Desktop\Newfolder\New文件夹2
我只能在“新文件夹”没有空格的情况下重命名子文件夹“新文件夹2”。
如何同时更改两者以删除空格?
谢谢!
How can I change both at once to remove white spaces?
你不能,你必须发出几个命令
string p = @"c:\my path\with spaces";
p=p.TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar);
while(p != Path.GetPathRoot(p)){
string dest = Path.Combine(Path.GetDirectoryName(p), Path.GetFileName(p.Replace(" ", "")));
if(!p.Equals(dest, StringComparison.CurrentCultureIgnoreCase))
Directory.Move(p, dest);
p = Path.GetDirectoryName(p);
}
这需要整个路径并向后工作,首先切断任何尾随的目录分隔符,这会导致 Path.GetX
出现问题
Path.GetFileName 也可以用在目录上;它 returns 最后一个分隔符之后的字符,无论它是文件还是目录。
我们通过仅去除最后一个文件夹名称中的空格并保留路径的其余部分来形成新的目标名称,path.combine 父目录加上无空格的子文件夹
最后我们“上了一个文件夹”,最终导致我们到达根目录并停止
我试图同时从文件夹及其子文件夹中删除空格,但我收到了该错误消息。这是我的代码:
Directory.Move(@path, @path.Replace(" ", String.Empty));
其中路径是C:\Users\meli\Desktop\Newfolder\New文件夹2
我只能在“新文件夹”没有空格的情况下重命名子文件夹“新文件夹2”。
如何同时更改两者以删除空格?
谢谢!
How can I change both at once to remove white spaces?
你不能,你必须发出几个命令
string p = @"c:\my path\with spaces";
p=p.TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar);
while(p != Path.GetPathRoot(p)){
string dest = Path.Combine(Path.GetDirectoryName(p), Path.GetFileName(p.Replace(" ", "")));
if(!p.Equals(dest, StringComparison.CurrentCultureIgnoreCase))
Directory.Move(p, dest);
p = Path.GetDirectoryName(p);
}
这需要整个路径并向后工作,首先切断任何尾随的目录分隔符,这会导致 Path.GetX
出现问题Path.GetFileName 也可以用在目录上;它 returns 最后一个分隔符之后的字符,无论它是文件还是目录。
我们通过仅去除最后一个文件夹名称中的空格并保留路径的其余部分来形成新的目标名称,path.combine 父目录加上无空格的子文件夹
最后我们“上了一个文件夹”,最终导致我们到达根目录并停止