Как удалить файл в с
Перейти к содержимому

Как удалить файл в с

  • автор:

Закрытие и удаление файлов

Чтобы эффективно использовать ресурсы операционной системы, приложение должно закрывать файлы, когда они больше не нужны с помощью функции CloseHandle . Если файл открыт при завершении работы приложения, система закрывает его автоматически.

Функцию DeleteFile можно использовать для удаления файла при закрытии. Файл нельзя удалить, пока не будут закрыты все его дескрипторы. Если не удается удалить файл, его имя нельзя использовать повторно. Чтобы немедленно повторно использовать имя файла, переименуйте существующий файл.

Если вы удаляете открытый файл или каталог на удаленном компьютере и они уже были открыты на удаленном компьютере без набора разрешений на чтение общего ресурса, не вызывайте CreateFile или OpenFile , чтобы сначала открыть файл или каталог для удаления. Это приведет к нарушению общего доступа.

Обратная связь

Были ли сведения на этой странице полезными?

File. Delete(String) Метод

Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.

Удаляет указанный файл.

public: static void Delete(System::String ^ path);
public static void Delete (string path);
static member Delete : string -> unit
Public Shared Sub Delete (path As String)
Параметры

Имя файла, предназначенного для удаления. Подстановочные знаки не поддерживаются.

Исключения

платформа .NET Framework и .NET Core версий старше 2.1: path строка нулевой длины, содержит только пробелы или содержит один или несколько недопустимых символов. Вы можете запросить недопустимые символы с помощью метода GetInvalidPathChars().

path имеет значение null .

Указан недопустимый путь (например, он ведет на несопоставленный диск).

Указанный файл используется.

Для файла имеется открытый дескриптор, а операционной системой является Windows XP или более ранней версии. Этот открытый дескриптор может быть результатом перечисления каталогов и файлов. Дополнительные сведения см. в разделе Практическое руководство. Перечисление каталогов и файлов.

Параметр path задан в недопустимом формате.

Указанный путь, имя файла или оба значения превышают максимальную длину, заданную в системе.

У вызывающего объекта отсутствует необходимое разрешение.

Файл является исполняемым файлом, который уже используется.

path является каталогом.

Параметр path указывает файл только для чтения.

Примеры

В следующем примере группы файлов копируются в папку резервного копирования C:\archives\2008, а затем удаляются из исходной папки.

string sourceDir = @"c:\current"; string backupDir = @"c:\archives\2008"; try < string[] picList = Directory.GetFiles(sourceDir, "*.jpg"); string[] txtList = Directory.GetFiles(sourceDir, "*.txt"); // Copy picture files. foreach (string f in picList) < // Remove path from the file name. string fName = f.Substring(sourceDir.Length + 1); // Use the Path.Combine method to safely append the file name to the path. // Will overwrite if the destination file already exists. File.Copy(Path.Combine(sourceDir, fName), Path.Combine(backupDir, fName), true); >// Copy text files. foreach (string f in txtList) < // Remove path from the file name. string fName = f.Substring(sourceDir.Length + 1); try < // Will not overwrite if the destination file already exists. File.Copy(Path.Combine(sourceDir, fName), Path.Combine(backupDir, fName)); >// Catch exception if the file was already copied. catch (IOException copyError) < Console.WriteLine(copyError.Message); >> // Delete source files that were copied. foreach (string f in txtList) < File.Delete(f); >foreach (string f in picList) < File.Delete(f); >> catch (DirectoryNotFoundException dirNotFound)
let sourceDir = @"c:\current" let backupDir = @"c:\archives\2008" try let picList = Directory.GetFiles(sourceDir, "*.jpg") let txtList = Directory.GetFiles(sourceDir, "*.txt") // Copy picture files. for f in picList do // Remove path from the file name. let fName = f.Substring(sourceDir.Length + 1) // Use the Path.Combine method to safely append the file name to the path. // Will overwrite if the destination file already exists. File.Copy(Path.Combine(sourceDir, fName), Path.Combine(backupDir, fName), true) // Copy text files. for f in txtList do // Remove path from the file name. let fName = f.Substring(sourceDir.Length + 1) try // Will not overwrite if the destination file already exists. File.Copy(Path.Combine(sourceDir, fName), Path.Combine(backupDir, fName)) // Catch exception if the file was already copied. with | :? IOException as copyError -> printfn $"" // Delete source files that were copied. for f in txtList do File.Delete f for f in picList do File.Delete f // Catch exception if the file was already copied. with | :? DirectoryNotFoundException as dirNotFound -> printfn $"" 
Dim sourceDir As String = "c:\current" Dim backupDir As String = "c:\archives\2008" Try Dim picList As String() = Directory.GetFiles(sourceDir, "*.jpg") Dim txtList As String() = Directory.GetFiles(sourceDir, "*.txt") ' Copy picture files. For Each f As String In picList 'Remove path from the file name. Dim fName As String = f.Substring(sourceDir.Length + 1) ' Use the Path.Combine method to safely append the file name to the path. ' Will overwrite if the destination file already exists. File.Copy(Path.Combine(sourceDir, fName), Path.Combine(backupDir, fName), True) Next ' Copy text files. For Each f As String In txtList 'Remove path from the file name. Dim fName As String = f.Substring(sourceDir.Length + 1) Try ' Will not overwrite if the destination file already exists. File.Copy(Path.Combine(sourceDir, fName), Path.Combine(backupDir, fName)) ' Catch exception if the file was already copied. Catch copyError As IOException Console.WriteLine(copyError.Message) End Try Next For Each f As String In txtList File.Delete(f) Next For Each f As String In picList File.Delete(f) Next Catch dirNotFound As DirectoryNotFoundException Console.WriteLine(dirNotFound.Message) End Try 

Комментарии

Укажите имя файла с любыми относительными или абсолютными сведениями о пути для path параметра . Подстановочные знаки не могут быть включены. Относительные сведения о пути интерпретируются как относительные относительно текущего рабочего каталога. Сведения о том, как получить текущий рабочий каталог, см. в разделе GetCurrentDirectory.

Если удаляемого файла не существует, исключение не создается.

Список распространенных задач ввода-вывода см. в разделе Общие задачи ввода-вывода.

Удаление Файлов

Author24 — интернет-сервис помощи студентам

Здравствуйте, заинтересовал вопрос удаления текстовых файлов, как можно удалить 1 текстовый файл или сразу все? Все происходит по нажатию кнопки.
В ListBox есть список и кнопки удалить одну запись и удалить все, Items добавляются из папки с файлами и выводятся имена текстовых файлов.

Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Удаление файлов
Всем привет, помогите доработать код. 1. Нужно чтобы код удалял все файлы и папки 2. Нужно чтобы.

Удаление файлов
Добрый день, уважаемые форумчане! Пытаюсь удалить (программно) файл из системной папки, но не.

Удаление файлов.
Пишу программу, которая хранит сканы паспорта, при редактирования таблицы скан паспорта может.

Удаление файлов
Здраствуйте. Возникла проблема при удалении файлов. Когда папка открыта в коммандере, она не.

1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535

Лучший ответ

Сообщение было отмечено как решение

Решение

System.IO.File.Delete(@"C:\MyFile");

Как удалить файл в с

Здравствуйте, почему-то файл не удаляется. Что не так?
&НаСервере
Функция ОбработатьБазыНаСервере()

а что пишет в иключении?
СП точно правильно прочитал?
Попробуй
ИмяВременногоФайлаПравилОбмена = «D:\temp\»;
УдалитьФайлы(ИмяВременногоФайлаПравилОбмена);

Удаление файлов производится, если в указанных файлах не установлено свойство «Только чтение». В противном случае генерируется сообщение об ошибке.

Для работы метода на веб-клиенте, необходимо предварительно подключить расширение работы с файлами.
На веб-клиенте метод работает только с локальными файлами.

И маску задай, если нужен конкретный файл.

(0)У тебя на сервере точно есть такой файл D:\temp\111.xml ?
Ну то есть может он у тебя не на сервере лежит, а локально?

(3) попробовала, все равно не удаляет, (4) в свойствах файла посмотрела галки «только чтение» нет, (6) точно лежит. (5) сейчас с маской попробую

Глобальный контекст.УдалитьФайлы (Global context.DeleteFiles)
Глобальный контекст (Global context)
УдалитьФайлы (DeleteFiles)
Синтаксис:

Тип: Строка.
Путь к удаляемым файлам.
(необязательный)

Тип: Строка.
Маска для выбора удаляемых файлов. В строке маски допускается использование символа «*» (звездочка), обозначающего любое число произвольных символов, и «?» (знак вопроса), обозначающего один произвольный символ.
Если не указана, то удаляются все файлы и каталог .
Описание:

Удаляет указанные файлы.

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Примечание:

Для удаления одного файла, можно передать его полное имя через первый параметр, либо передать путь к нему через первый параметр, а его короткое имя — через второй.
Удаление файлов производится, если в указанных файлах не установлено свойство «Только чтение». В противном случае генерируется сообщение об ошибке.
Допускается использование схем http, https и ftp для адресации файлов. При использовании этих схем в адресах необходимо указывать прямые слеши ‘/’, а не обратные ‘\’.
Для работы метода на веб-клиенте, необходимо предварительно подключить расширение работы с файлами.
На веб-клиенте метод работает только с локальными файлами.
Пример:

// Удаление каталога и всех вложенных в него каталогов и файлов
Попытка
УдалитьФайлы(«C:\temp\Works»);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;

ключевое:
Попытка
УдалитьФайлы(«C:\temp\Works»);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *