繁体   English   中英

如何在C#中将文件从一个路径移动到另一路径

[英]How to move files from one path to another in c#

在我的应用程序中,我可以有三个路径

  1. \\共享\\的1.txt
  2. \\共享\\
  3. \\共享\\ *。TXT

该文件路径将是可变的。

现在,如何检查路径是单个文件还是多个文件,还是通配符? 然后将它们移到另一条路径。

好吧,因为既不是*也不是? 可以在路上:他们在

  Char[] forbidden = Path.GetInvalidPathChars();

所以你可以找他们

  String path = @"C:\MyData\Shared\*.txt";
  ...
  Boolean isWildCard = path.ContainsAny('?', '*');

至于文件/目录

  Boolean isFile;

  if (File.Exists(path)) 
    isFile = true; // file already exists
  else if (Directory.Exists(path)) 
    isFile = false; // directory already exists
  else if (String.Equals(Path.GetExtension(path), ".txt", StringComparison.InvariantCultureIgnoreCase))
    isFile = true; // has txt extension, let it be a file
  else
    isFile = false;

但是,似乎您不需要任何分支(isWildCard,isFile),只需移动文件即可:

  String path = @"C:\MyData\Shared\*.txt";
  ...
  String sourceDirectory = Path.GetDirectoryName(path);  
  String destination = @"C:\Destination";

  Directory.GetFiles(sourceDirectory, "*.txt")
           .ForEach(file => File.Move(file, Path.Combine(destination, Path.GetFileName(file))));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM