`Move` (F6) within the same volume should always be completed instantly

Here you can propose new features, make suggestions etc.

Moderators: white, Hacker, petermad, Stefan2

User avatar
Dalai
Power Member
Power Member
Posts: 9461
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Re: `Move` (F6) within the same volume should always be completed instantly

Post by *Dalai »

I very much doubt that it's possible to implement such functionality in user-level programs. AFAIK all such programs (Unlocker, LockHunter) use a Kernel-level driver that does all the work which requires a higher level access. LockHunter also uses a Windows service, probably to manage communication between the driver and its user-level program.

However, what is possible to implement in TC is that it asks the user for confirmation whether or not the files should be copied if the move operation within the same volume fails. That way, the user can abort the operation - to avoid unnecessary disk thrashing - or copy the file(s) anyway if necessary.

Regards
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
User avatar
MVV
Power Member
Power Member
Posts: 8704
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Re: `Move` (F6) within the same volume should always be completed instantly

Post by *MVV »

Recursive moving was always a pain in TC, and a bunch of reasons there were seen that cause it instead of an instant moving. Mostly locked files perhaps, but this one is really a showstopper and can't be avoided (though TC could ask before). Today I moved a folder with a bunch of GIT repositories and TC couldn't perform instant moving because of........ ignore list! All contents except ignored .git subfolders was moved and TC gave me a bunch of messages that it couldn't remove a directory. The rest was completely moved (slow-moved, and it was noticeable because .git folders contain thousands of files) after disabling ignore list.


Please, please, please, finally make TC moving instantly first or ask a user action if slow moving is required (e.g. an elevation may be needed), it is really annoying that one expects an instant operation but gets a slow action that touches thousand of objects...

As I know, instant moving requires a single API function call, and its failure means that that it can't be done, it may be because of a locked file/folder (one could try to check for locked items and release it and then try again, recursive moving will not avoid this problem), a permission error (instant moving via TCMADMIN may help; in this case recursive moving will fail too so it is much better to ask user anyway), or in case when target location is within another volume (this is the only case when there is nothing to do but recursive copy-deleting, but TC can still inform and ask user before).

Of course, such confirmations should be configurable, and you can make them disabled by default (or maybe enabled by default to introduce the new feature to users and let them disable these confirmations)...
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48231
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: `Move` (F6) within the same volume should always be completed instantly

Post by *ghisler(Author) »

TC always tries instant move first. But the file/folder may be locked and can't be moved for that reason.
Author of Total Commander
https://www.ghisler.com
Post Reply