Title MarkStep
File Name MarkStep.txt
Description Mark files with specific step
Author Vochomurka
Parameters -
Plugins Called win, childwin, tc, miscplugin
Version 3.0
Updated on 16.06.2014
local hwnd = win.handle("c=TTOTAL_CMD")
local Panel = ifelse( == "left", 0, 1)
local i, Unmark, To
local Step = 2
local What = "All"

local Result = win.childhandlelist(hwnd, "c=TMyListBox")
local From = vec.createfromwords(Result)

if(From <= 0) do
	messagebox("ok error", "Vector not created", "VEC plugin error #1")

for(i = 0; i < From.length; i++)
	if(win.gettext(From[i]) == "W_FtpLogList") do

if(From.length != 2) do
	messagebox("ok error", "Wrong number of TMyListBox windows", "MarkStep script")

local Counter = win.left(From[0])*[0])
To = win.left(From[1])*[1])
local TMLB = ifelse(Counter < To, From[Panel], From[(-1)*Panel + 1])

local Current = win.sendmessage(TMLB, 0x0188, 0, 0)
Counter = win.sendmessage(TMLB, 0x018B, 0, 0)

local Cap = "File " ++ Current ++ " of " ++ Counter
Result = Inputdialog("~Step=Step, What=Files to mark??All|Current & above|Current & below, Unmark=Unmark??", Cap)

if(not Result)

if(not miscplugin.is_int(Step) || Step <= 0) do
	messagebox("ok error", "Invalid step: " ++ Step, "'MarkStep' Script")

if(What == "All") do
	From = 0
	To = Counter
elseif(What == "Current & above")
	From = 0
	To = Current
elseif(What == "Current & below")
	From = Current
	To = Counter

Unmark = not(Unmark)

for(i = From; i < To; i = i + Step)
	win.sendmessage(TMLB, 0x0185, Unmark, i)



Attention! This script does not work in Total Commander 7.5 pb1 and pb2!

This script for Total Commander 7.0 and older.

This script can be useful at working with the results of searching duplicate files. After the search is finished, it is convenient to press the "Feed to listbox" button, for example:

Dotted lines separate pairs being duplicates ("same size" and "same contents" in the present case). As a rule, the next action is to select files according to a simple regularity, such as "every second", "all but every third", etc. It's easy if the number of files is not too great, otherwise it's a very exhausting job.

Suppose we need to mark every second file starting from the fourth pair. Put the cursor on the first file to select and run the script. In the dialog box that appears the input must be as follows:

Distance between files to mark is given by the "Step" edit box. Step is an integer greater than 1 (default 2). "Files to mark" dropdown list contains the following choices: "All" (default), "Current & above", "Current & below". The script also allows to unmark rather than to mark files - to switch this mode on, check "Unmark". So, the multiple execution of script allows to select files according to more complex regularity, despite the number of files to select.

In the present simple case after pressing "OK" result would be:

The script works also in a usual file panel, but I can hardly imagine the situation when it could be useful.

Main Page Total Commander PowerPro