Удаление файла
-
- interested
- Сообщения: 4
- Зарегистрирован: 18 апр 2013, 12:03
- Версия LabVIEW: 8.0
- Контактная информация:
Удаление файла
Доброго времени суток. Подскажите, пожалуйста, как без проблем удалить файл в LV? Не вполне понимаю как работает Delete.vi. После попытки удаления папка с удаляемым файлом оказывается занятой процессом LV и Delete.vi. выдает ошибку. В инете прочитал, что последняя открытая папка в LV является заблокированной и к ней нет доступа http://lavag.org/topic/12000-cannot-mov ... w-is-open/. Но даже учитывая это, манипуляции с кодом не помогли. Пожалуйста, подскажите как корректно удалить файл.
-
IvanLis
- guru
- Сообщения: 5463
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 87 раз
Re: Удаление файла
В Linux я использую скрипт, передавая ему путь к файлу... а он уже делает всю грязную работу.KVS_7 писал(а):Пожалуйста, подскажите как корректно удалить файл.
По идее и в Windows можно так реализовать... запуск bat-ника с передачей параметра. Там же можно по идее настроить подтверждение.
---------------------
У меня вообще реализовано удаление запущенного (исполняемого) откомпилированного файла. Т.е. программа запускается и через скрипт удаляет сама себя с диска, продолжая работать. Соответственно повторный запуск уже невозможен .
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Удаление файла
KVS_7
Можно сделать через cmd, например так: В принципе, ещё вариант - использовать средства Windows, например функцию DeleteFile, вызвать её можно через Call Library Function Node. Для полного контроля над удалением (любой файл, папка, в том числе непустые каталоги с многоуровневой структурой, а также удаление в корзину) нужно использовать SHFileOperation. Эту функцию также можно запустить через CLFN, правда посложнее, чем DeleteFile. Пример сходу не приведу, надо порыться в гугле. Почитайте здесь или юзайте поиск.
Вот, нашёл ещё NET-способ, позволяющий удалять всё, что угодно, в т.ч. и в корзину.
Касательно SHFileOperation... Здесь есть , удаляющий файл в корзину через DLL, вызывающую shell32. Плюс исходник враппера на Дельфи. Можно использовать этот способ. А тут я нашел код на C++, можно его перекомпилить и встроить в . В общем, вариантов много, на самом деле.
P.S.: перекомпилил файл из последней ссылки + чуть-чуть допилил и встроил в ; см. вложение.
Можно сделать через cmd, например так: В принципе, ещё вариант - использовать средства Windows, например функцию DeleteFile, вызвать её можно через Call Library Function Node. Для полного контроля над удалением (любой файл, папка, в том числе непустые каталоги с многоуровневой структурой, а также удаление в корзину) нужно использовать SHFileOperation. Эту функцию также можно запустить через CLFN, правда посложнее, чем DeleteFile. Пример сходу не приведу, надо порыться в гугле. Почитайте здесь или юзайте поиск.
Вот, нашёл ещё NET-способ, позволяющий удалять всё, что угодно, в т.ч. и в корзину.
Касательно SHFileOperation... Здесь есть , удаляющий файл в корзину через DLL, вызывающую shell32. Плюс исходник враппера на Дельфи. Можно использовать этот способ. А тут я нашел код на C++, можно его перекомпилить и встроить в . В общем, вариантов много, на самом деле.
P.S.: перекомпилил файл из последней ссылки + чуть-чуть допилил и встроил в ; см. вложение.
- Вложения
-
- Safe Delete.vi
- LV8.0
- (27.3 КБ) 190 скачиваний
-
- interested
- Сообщения: 4
- Зарегистрирован: 18 апр 2013, 12:03
- Версия LabVIEW: 8.0
- Контактная информация:
Re: Удаление файла
Спасибо, очень благодарен за ответы) Не все успел проверить из предложенного и пока проблема остается. Задача - посмотреть в директорию, отослать их, а затем удалить. Но ни стандартными средствами, ни через командную строку, ни Unlocker'ом не удается их удалить после отсылки. Иногда Unlocker говорит, что директория занята процессом LV, иногда вообще не видит блокирующего дескриптора. При закрытии LV возможность удалить возобновляется. На сколько успел понять, LV блокирует доступ к последней открытой директории. Пробовал открывать другую, не относящуюся к программе директорию последней. Что-то не выходит. Может у Вас есть какие-нибудь соображения?
-
- interested
- Сообщения: 4
- Зарегистрирован: 18 апр 2013, 12:03
- Версия LabVIEW: 8.0
- Контактная информация:
Re: Удаление файла
По идее и в Windows можно так реализовать... запуск bat-ника с передачей параметра. Там же можно по идее настроить подтверждение.
Придется видимо разбираться)У меня вообще реализовано удаление запущенного (исполняемого) откомпилированного файла. Т.е. программа запускается и через скрипт удаляет сама себя с диска, продолжая работать. Соответственно повторный запуск уже невозможен .
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Удаление файла
KVS_7
С помощью какого инструмента вы "смотрите" в вашу папку? И вы пытаетесь удалить всю папку целиком? Выложите кусок кода, отвечающий за просмотр папки (можно без передачи куда-то там файлов) и удаление.
С помощью какого инструмента вы "смотрите" в вашу папку? И вы пытаетесь удалить всю папку целиком? Выложите кусок кода, отвечающий за просмотр папки (можно без передачи куда-то там файлов) и удаление.
-
- interested
- Сообщения: 4
- Зарегистрирован: 18 апр 2013, 12:03
- Версия LabVIEW: 8.0
- Контактная информация:
Re: Удаление файла
Это похоже для 9.0. Можно под 8.0, пожалуйста? )P.S.: перекомпилил файл из последней ссылки + чуть-чуть допилил и встроил в ; см. вложение.
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Удаление файла
KVS_7
Специально скачал отсюда и открыл файл в 7.1, чтобы версию посмотреть. У меня всё правильно На всякий случай ещё раз пересохранил в 8.0...
Специально скачал отсюда и открыл файл в 7.1, чтобы версию посмотреть. У меня всё правильно На всякий случай ещё раз пересохранил в 8.0...
- Вложения
-
- Safe Delete 8.0.vi
- (27.3 КБ) 178 скачиваний
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение