Deleting large number of files in Synchronize directories

Please report only one bug per message!

Moderators: white, Hacker, petermad, Stefan2

Post Reply
Yaten512
Junior Member
Junior Member
Posts: 2
Joined: 2011-09-15, 21:21 UTC

Deleting large number of files in Synchronize directories

Post by *Yaten512 »

When a command to delete large number of files in Synchonize directories window is issued, Total Commander starts producing additional threads, up to 518 after about 500 files deleted, then locks up. If interrupted before this happens, and Synchronize directories window is closed, additional threads are not killed. Only quitting the program seems to remove them.

Happens to me in 7.56a on Windows 7 Professional, NTFS, default local system disk.

To reproduce:

1. Prepare large file tree, differing in details, to compare. In the case I can reproduce the problem in, it's installation of World of Tanks version 0.6.6, compared to version 0.6.7. The same problem was happening when comparing 0.6.5 to 0.6.6.

2. Check Subdirs, by content, ignore date, Empty directories, in Show frame: = , duplicates, singles. Leave rest (Asymmetric) unchecked.

3. Compare. After it's compared, it'll show about 35000 identical files in my case.

4. Select all (Ctrl-A, for example)

5. from context menu ->Delete right . Confirm you want to delete.

6. Observe TC producing about 10 idle threads per second.
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

Try to hold Shift while choosing Delete right and confirming. TC in this case should delete directly instead of deleting to Recycle Bin.
User avatar
Hacker
Moderator
Moderator
Posts: 13064
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Yaten512,
Also, have you set VistaDelete=1 in wincmd.ini? If not, check Help, section 4.b) and set it.

HTH
Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48079
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Actually it't not Total Commander which creates the threads, it's the Windows function SHFileOperation! On Vista/7, it creates a new thread on each call. Since TC calls the function for each file separately, you get as many threads as there are files. Unfortunately calling the function once with all the names is no option, because it doesn't tell the caller which files were deleted and which not. Therefore the next version of TC will use VistaDelete=1 by default on Windows Vista/7.
Author of Total Commander
https://www.ghisler.com
Yaten512
Junior Member
Junior Member
Posts: 2
Joined: 2011-09-15, 21:21 UTC

Post by *Yaten512 »

I don't want to use Recycle Bin with Synchronize directories window at all. I need both deleting through Recycle Bin (on F8), and deleting without it (on Shift-F8) in everyday operation though. Is there a switch I'm missing that lets me decide if deleting in Synchronize directories window should be done to Recycle Bin or not?
User avatar
karlchen
Power Member
Power Member
Posts: 4603
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Post by *karlchen »

Hello, Yaten512.
Yaten512 wrote:Is there a switch I'm missing that lets me decide if deleting in Synchronize directories window should be done to Recycle Bin or not?
There is no configuration setting inside the Synchronize Directories dialogue. All you can do is follow MVV's advice:
MVV wrote:Try to hold Shift while choosing Delete right and confirming. TC in this case should delete directly instead of deleting to Recycle Bin.
Kind regards,
Karl
Post Reply