在我的应用程序中,我可以有三个路径
- \共享\1.txt
- \共享\
- \共享\*.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))));