0
在我的應用程序可能有三條路徑如何將文件從一個路徑移動到另一個在C#
- \共享\ 1.txt的
- \共享\
- \共享\ *。TXT
此文件路徑將會變量。
現在我該如何檢查路徑是單個文件還是多個文件,或者是否有通配符? &然後將它們移動到另一條路徑。
在我的應用程序可能有三條路徑如何將文件從一個路徑移動到另一個在C#
此文件路徑將會變量。
現在我該如何檢查路徑是單個文件還是多個文件,或者是否有通配符? &然後將它們移動到另一條路徑。
好,因爲無論是*
也不?
可以在路徑:他們在
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;
然而,你似乎沒有必要有任何分支(isWild卡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))));
像'Directory.GetFiles(@ 「C:\共享\」, 「* .TXT」)的ForEach(文件=> File.Move(文件,路徑.Combine(@「C:\ Destination」,Path.GetFileName(file))));' –
檢查widcard:'Boolean isWildCard = path.ContainsAny('?','*');'既然' ?'也不'''可以在路徑中使用。 –
你可能想檢查一下:http://stackoverflow.com/questions/1395205/better-way-to-check-if-path-is-a-file-or-a-directory –