Как переименовать файл.

Простейшие вопросы в области инженерной разработки

Как переименовать файл.

Postby Юрий on 10 Mar 2018, 19:34

Совсем старый стал. Не могу найти как переименовать файл. Не ужели надо его по новой записать с новым именем, а старый стереть.
Юрий
developer
developer
 
Posts: 283
Joined: 28 Feb 2010, 18:04
LabVIEW Version: LV2015
Karma: 52

Re: Как переименовать файл.

Postby dadreamer on 10 Mar 2018, 21:31

User avatar
dadreamer
professor
professor
 
Posts: 3062
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 765
I/O VIP vision internet

Re: Как переименовать файл.

Postby Blackman on 10 Mar 2018, 23:42

..\vi.lib\Utility\libraryn.llb\Libraryn Rename.vi
Работает и с файлами в llb. Все возможные проверки для успешного выполнения операции.
Blackman
leader
leader
 
Posts: 720
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 187

Re: Как переименовать файл.

Postby Boris_K on 03 Jul 2018, 12:26

В Libraryn Rename.vi для переименования используется всё тот же Move, то есть будет тормозить на больших файлах, да и вообще незачем перезаписывать файлы при каждом переименовании. Я сделал через WinAPI как тут описано (метод 3): http://digital.ni.com/public.nsf/allkb/ ... 04006909AA

Из тестов на единичном файле: работает за 20 - 30 мс независимо от размера файла.

P. S. Потестил и лабвьюшную Move, как ни странно, работает даже шустрее (показало 1 мс), видимо она асинхронная и сразу возвращает управление, но диск всё равно не шуршит (тестил на файлах до 6,5 ГБ), то есть тоже работает без физической перезаписи. Видимо, в новых версиях её допилили, ведь статья относится к 8.2. В общем, можно юзать любой из этих способов. Если только у вас не древняя версия.
Race conditions - самый опасный, скользкий и противный баг!
Boris_K
developer
developer
 
Posts: 262
Joined: 28 Jan 2015, 14:25
LabVIEW Version: 2012 Pro
Karma: 6


Return to Для чайников

Who is online

Users browsing this forum: Bing [Bot] and 11 guests

cron