string[] dirs = Directory.GetFiles("G:\\", "*.az", SearchOption.AllDirectories);
Далее хочу копировать файлы
File.Copy(s1., Path.GetTempPath() + Namer, true);
Получаю ошибку
указан каталог, а не файл.
Как мне получить сам файл?
foreach (string s1 in dirs)
{
File.Copy(s1, Path.GetTempPath() + Namer, true);
}
Не каких Name или FullName не доступны
Как-то так:
string[] fileNames = Directory.GetFiles("G:\\", "*.az", SearchOption.AllDirectories);
string newPath = "C:\\";
foreach (var fileName in fileNames)
{
//string path = Path.GetDirectoryName(fileName);
string name = Path.GetFileName(fileName);
//Console.WriteLine(path);
//Console.WriteLine(name);
var sourceName = fileName;
var destName = Path.Combine(newPath, name);
File.Copy(sourceName, destName);
}
PS Код упрощённый, чисто для демонстрации Path.GetFileName и Path.Combine.
Я тут подумал: на самом деле если в папке есть две подпапки 1 и 2 и в каждой лежит 123.ag то они запишутся в одно и то же место, один пропадёт. По-хорошему нужно воссоздавать структуру каталогов.
Directory.EnumerateFiles("G:\\", "*.az", SearchOption.AllDirectories)
.AsParallel()
.WithDegreeOfParallelism(2)
.ForAll(d => File.Copy(d, Path.GetTempPath()+Path.GetFileName(d),true));
.....
string[] Drives = Environment.GetLogicalDrives();
foreach (string drive in Drives) {
Directory.EnumerateFiles(drive , "*.az", SearchOption.AllDirectories)
.AsParallel()
.WithDegreeOfParallelism(2)
.ForAll(d => File.Copy(d, Path.GetTempPath() + Path.GetFileName(d), true));
}
С рекурсивным поиском
string[] Drives = Environment.GetLogicalDrives();
foreach(string drive in Drives)
Search(drive);
.............
static void Search(string sDir) {
try {
Directory.EnumerateFiles(sDir, "*.az")
.AsParallel()
.WithDegreeOfParallelism(2)
.ForAll(d => File.Copy(d, Path.GetTempPath() + Path.GetFileName(d), true));
foreach(string path in Directory.EnumerateDirectories(sDir))
Search(path);
} catch (System.Exception excpt) {
//Console.WriteLine(excpt.Message);
}
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть код, который копирует файлыКак добавить условие на размер файлов? Если размер файла более 300 кб, то копировать не надо
Всем приветМне нужно реализовать загрузку файлов на сервер и сохранения пути до них в бд
Мне необходимо авторизоваться на сайте, и дальше работать с POST запросами, но есть проблема на сайте выдается csrfmiddlewaretokenПоэтому надо сначала...