@Djasar

Как удалить файлы?

Есть скрипт на удаление файлов, но он почему то не отрабатывает маску XX и удаляет все файлы.
А необходимо удалить все файлы в директории и оставить только те в которых в имени присутствует XX
DirectoryInfo dir = new DirectoryInfo(config.localPath);
				string[] deleteFilesgz = Directory.GetFiles(dir.FullName, "*.gz");
				foreach (string file in deleteFilesgz)
				{
					if (file != "*XX*")
					{
						File.Delete(file);
					}
				}
  • Вопрос задан
  • 207 просмотров
Решения вопроса 2
Adler_lug
@Adler_lug
(file != "*XX*")
Это не маска. Вы сравниваете строки. Соответственно удаляются все, т.к. среди них нет файла с именем *XX*, которого в принципе быть не может.
Вам надо String.Contains использовать.
Ответ написан
@Djasar Автор вопроса
Вот так получилось.

DirectoryInfo dir = new DirectoryInfo(config.localPath);
foreach (FileInfo file in dir.GetFiles("*.gz"))
	{
	if (file.Name.Contains("XX"))
			{
			Logger.log("Оставленные XX " + file);
			}
			else
			{
			File.Delete(file.FullName);
			}
	}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы