TCBL new version (1.04 )

Discuss and announce Total Commander plugins, addons and other useful tools here, both their usage and their development.

Moderators: white, Hacker, petermad, Stefan2

Post Reply
lawson415
Junior Member
Junior Member
Posts: 8
Joined: 2004-06-06, 21:56 UTC

tcbl $z inserts short file name- what about long file names?

Post by *lawson415 »

we use $z to insert file names without extensions into our tcbl script. this works great with short 8 character file names. our procedure has changed and now we need to use the script with long file names. $z truncates to 8 characters. how can we insert long files names without extensions into a tcbl script?
User avatar
nsp
Power Member
Power Member
Posts: 1803
Joined: 2005-12-04, 08:39 UTC
Location: Lyon (FRANCE)
Contact:

Re: tcbl $z inserts short file name- what about long file na

Post by *nsp »

lawson415 wrote:we use $z to insert file names without extensions into our tcbl script. this works great with short 8 character file names. our procedure has changed and now we need to use the script with long file names. $z truncates to 8 characters. how can we insert long files names without extensions into a tcbl script?
You probably pass 8.3 filename list using "%l" instead of "%L". Change the parameter in TC user command or button.
lawson415
Junior Member
Junior Member
Posts: 8
Joined: 2004-06-06, 21:56 UTC

Re: tcbl $z inserts short file name- what about long file na

Post by *lawson415 »

nsp wrote:
lawson415 wrote:we use $z to insert file names without extensions into our tcbl script. this works great with short 8 character file names. our procedure has changed and now we need to use the script with long file names. $z truncates to 8 characters. how can we insert long files names without extensions into a tcbl script?
You probably pass 8.3 filename list using "%l" instead of "%L". Change the parameter in TC user command or button.
Hi nsp

lthanks for the quick reply. you helped my associate jedip in 2009 when we first started using tcbl. I do not think I gve enough details in my original post to make clear what we need.

we use the following tcbl.ini to convert EEG files from one format to another. we select several EEG files with a .rec extension and then click pn a button on the total commander button bar. this button uses the command and parameter setting from the ini below.


[nsync2lex]

; Command: TCBL.exe
; Parameters: -qi %f nsync2lex
; Start the initialization section
pre=cd c:\70e\nsync

; Command script


cmd=c:\perl\activeperl\perl\bin\perl edf-same.pl $z.rec
cmd=asc_filter $z.rec.data $z.flt 250 0.5 45
cmd=asc_resample $z.flt $z.rsm 250 128
cmd=asc_rescale $z.rsm $z.txt 1.1
cmd=asc2lex $z.txt 128.header $z.dat nsyncorder.ini

If I were running a batch file from a total commander button to convert a single file, I would use %O in the parameter box to insert a long file w/o extension where the batch file had %1. %o in the button bar button parameter would insert the short 8.3 filename w/o extension.

$z in the above tcbl.ini inserts the file name without extension and truncates it to 8 characters. we have always used this .ini with EEG files with 8.3 names. Now we want to use longer names. is this possible?
User avatar
nsp
Power Member
Power Member
Posts: 1803
Joined: 2005-12-04, 08:39 UTC
Location: Lyon (FRANCE)
Contact:

Re: tcbl $z inserts short file name- what about long file na

Post by *nsp »

lawson415 wrote:
nsp wrote:
lawson415 wrote:we use $z to insert file names without extensions into our tcbl script. this works great with short 8 character file names. our procedure has changed and now we need to use the script with long file names. $z truncates to 8 characters. how can we insert long files names without extensions into a tcbl script?
You probably pass 8.3 filename list using "%l" instead of "%L". Change the parameter in TC user command or button.
Hi nsp

lthanks for the quick reply. you helped my associate jedip in 2009 when we first started using tcbl. I do not think I gve enough details in my original post to make clear what we need....

Code: Select all

[nsync2lex]
; Command:    TCBL.exe
; Parameters: -qi %f nsync2lex
; Start the initialization section
pre=cd c:\70e\nsync

; Command script
cmd=...
hi lawson,

As said, in previous mail first give a look on the parameters you use to call tcbl from the TC button.

Code: Select all

Command:    TCBL.exe
Parameters: -qi %L nsync2lex
...
if you use %f or %l that mean that the filelist generated from TC is converted in 8.3 format by TC. if you want to use long name you must use %L as advised.
lawson415
Junior Member
Junior Member
Posts: 8
Joined: 2004-06-06, 21:56 UTC

Post by *lawson415 »

Awesome nsp. I cannot thank you enough for your help AND your patience. %L in the parameters did it! Obviously, I did not understand where the %L went. Thank you for showing me. Now I have to sleep. It is 2:30AM here and I have setup this up on a production computer in mornng.

Robert
User avatar
nsp
Power Member
Power Member
Posts: 1803
Joined: 2005-12-04, 08:39 UTC
Location: Lyon (FRANCE)
Contact:

Protect your filename it they contain spaces !

Post by *nsp »

lawson415 wrote:Awesome nsp. I cannot thank you enough for your help AND your patience. %L in the parameters did it! Obviously, I did not understand where the %L went. Thank you for showing me. Now I have to sleep. It is 2:30AM here and I have setup this up on a production computer in mornng.

Robert
I Robert,
your colleague back in 2008 was using $f in TC part to only get filename list without path. If you want to have similar behavior with long names, you should use $F instead of advised $L.
You also have to review your productive tcbl scripts and verify that they correctly handle all filenames (you should use double quote to protect produced file names inside tcbl.ini comamnd lines).
If your expressions are simple like the one i see in nsync2lex, you can remove the q option to let tcbl quote itself filenames.

Code: Select all

Command:    TCBL.exe
Parameters: -i %F nsync2lex
To debug you can use the -iex options that will edit in notepad to view produced bat file and do not execute.
User avatar
nsp
Power Member
Power Member
Posts: 1803
Joined: 2005-12-04, 08:39 UTC
Location: Lyon (FRANCE)
Contact:

TCBL 0.990 Beta

Post by *nsp »

New version with more filtering capabilities, and bugfix on filtering.

Give a try on the temporary version

I've also found a way to have nice listing ! this is working for all console application launched directly from TC.

Launch tcbl from Total commander not using command line. Once the console appear and wait, choose properties on the caption bar menu.
Select all the console properties you need and specially use a TrueType Font like Consolas or Lucida Console.
Validate and type Enter to quit the application once properties are saved

Filtering capabilities inside ini cmds.

Code: Select all

	   -- < Filtering Capabilities > -- 
	   Syntax : <('Operator'?'Topic':)?'Expression'?>
		Optional Operator can be '!' not, '=' Egal, '#' different.
		'Topic' can be one of 'f' 'p' 'e' 'z' 'v' for File Section 
	         and regular 'Expression' matching the file.
		Topic can be 'F' regular file, 'D' directory, 'E' not Exists
		Topic can be 'O' internal File counter is Odd,  'P' is Pair
		Topic can be 'o'  Counter MODULO Divisor = Rest.
		Topic can be 's' Size is >= to the number in byte
	   cmd=<xxx|yyy>command for each file extension like xxx or yyy
	   cmd=<z:A.*Z>command for each file starting with A and ending with Z
	   cmd=<v:A|B|E>command for each fileName on Drive A: or B: or E:
	   cmd=<o:5 0>command for each file where counter MODULO 5 = 0
	   cmd=<!o:10 5>command for each file where counter MODULO 10 <> 5
	   cmd=<s:1024>command for each file where size >= 1024 bytes
	   cmd=<!s:1024>command for each file where size < 1024 bytes
	   cmd=<=s:1.0E5>command for each file where size = 1.0E5 bytes
	   cmd=<#s:1024.0>command for each file where size <> 1024 bytes
User avatar
nsp
Power Member
Power Member
Posts: 1803
Joined: 2005-12-04, 08:39 UTC
Location: Lyon (FRANCE)
Contact:

TCBL 0.991 (new beta version)

Post by *nsp »

New version with some speed improvement on large file.
New capability keyword $K to get clipboard content.

Get new version here
User avatar
nsp
Power Member
Power Member
Posts: 1803
Joined: 2005-12-04, 08:39 UTC
Location: Lyon (FRANCE)
Contact:

TCBL 0.998 (new beta version)

Post by *nsp »

// the new version is beta 0.998//[/b]
-- minor bugfixes
-- added graphical input box and internal parameters ($_1 .. $_9)
-- ability to use parameter inside filter definition

Get new version here
tcvol
Junior Member
Junior Member
Posts: 67
Joined: 2009-02-02, 12:35 UTC

Post by *tcvol »

nice .. I will give it a try for my masterlists ;-)
seb-
Senior Member
Senior Member
Posts: 276
Joined: 2011-11-15, 06:14 UTC
Location: DE\BN - only part time TC user after switching to Linux ;)

Post by *seb- »

Hi,

i might have overlooked something, but i couldn't find an answer to my question yet.

I want to use imagemagick to append multiple images into one output-image.

the comamndline for image magick is

convert.exe +append %INFILE(s)% %outfile%

When i manually type it on commandline it works the followingway

convert +append file1.png file2.png outputfile.png


Is there any convenient way to accomplish this with TCBL? I have the feeling it is rather for calling imagemagick multiple times for each item in a list of files, rather than calling it once with a list of files at once.

But i couldn't manage to do it without TCBL as well, as it seems that i either used the wrong parameters or there are some limitations i stumble upon.


Anyone used convert +append already together with the selected files as parameter?


thanks
sebastian
seb-
Senior Member
Senior Member
Posts: 276
Joined: 2011-11-15, 06:14 UTC
Location: DE\BN - only part time TC user after switching to Linux ;)

Post by *seb- »

seb- wrote: Anyone used convert +append already together with the selected files as parameter?

Maybe not the best solution, but this works

Button:

Code: Select all

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\tools\imagemagick.bat
?"%P" "%Pout.png"  %S
C:\Program Files\ImageMagick-6.8.6-Q16\ImageMagick.ico
ImageMagick
%P

-1


and imagemagick.bat to be placed in commander_path\tools\

Code: Select all

@echo off
echo "%1"
echo "%2"
cd "%1"
"C:\Program Files\ImageMagick-6.8.6-Q16\convert.exe" +append %3 %4 %5 %6 %7 %8 %9 %2
pause

But it will take only a few file names... so not more than 7 at the moment ;-)

There is certainly a better way. Maybe someone knows ;)
thx
User avatar
nsp
Power Member
Power Member
Posts: 1803
Joined: 2005-12-04, 08:39 UTC
Location: Lyon (FRANCE)
Contact:

Post by *nsp »

seb- wrote:
seb- wrote: Anyone used convert +append already together with the selected files as parameter?

Maybe not the best solution, but this works

Button:

Code: Select all

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\tools\imagemagick.bat
?"%P" "%Pout.png"  %S
C:\Program Files\ImageMagick-6.8.6-Q16\ImageMagick.ico
ImageMagick
%P

-1


....
There is certainly a better way. Maybe someone knows ;)
thx
Hi,
You are rights, TCBL is built to process each file one by one... building and launching a batch file.

In your case, you want to process all files at once.
You can probably do it using:

Code: Select all

TOTALCMD#BAR#DATA
"C:\Program Files\ImageMagick-6.8.6-Q16\convert.exe"
?-verbose +append @"%L" "%Pout.png"  
C:\Program Files\ImageMagick-6.8.6-Q16\ImageMagick.ico
ImageMagick
%P
If you prefix a filename by @ it is taken as a file list.

Calling convert without full path does not works as the tmp file is deleted during process.

You can remove -verbose if you do not need processing info..
seb-
Senior Member
Senior Member
Posts: 276
Joined: 2011-11-15, 06:14 UTC
Location: DE\BN - only part time TC user after switching to Linux ;)

Post by *seb- »

nsp wrote:

Code: Select all

TOTALCMD#BAR#DATA
"C:\Program Files\ImageMagick-6.8.6-Q16\convert.exe"
?-verbose +append @"%L" "%Pout.png"  
C:\Program Files\ImageMagick-6.8.6-Q16\ImageMagick.ico
ImageMagick
%P
Hi nsp! thanks for your help so far, but apparently your button will open a CMD.exe window and close it immediately. No way i can see what error appears :-(

Any hint/way how to prevent the window from closing?

br
sebastian
User avatar
nsp
Power Member
Power Member
Posts: 1803
Joined: 2005-12-04, 08:39 UTC
Location: Lyon (FRANCE)
Contact:

Post by *nsp »

seb- wrote:
nsp wrote:

Code: Select all

TOTALCMD#BAR#DATA
"C:\Program Files\ImageMagick-6.8.6-Q16\convert.exe"
?-verbose +append @"%L" "%Pout.png"  
C:\Program Files\ImageMagick-6.8.6-Q16\ImageMagick.ico
ImageMagick
%P
-1
Hi nsp! thanks for your help so far, but apparently your button will open a CMD.exe window and close it immediately. No way i can see what error appears :-(

Any hint/way how to prevent the window from closing?

br
sebastian
I did some check and it seems that the list generated by TC is not compatible with convert if it contain spaces !
Anyhow you can use :

Code: Select all

TOTALCMD#BAR#DATA
C:\Program Files\ImageMagick-6.8.6-Q16\convert.exe
?-verbose +append %S out.png  
C:\Program Files\ImageMagick-6.8.6-Q16\ImageMagick.ico
ImageMagick
.
-1
To have a pause, you can use a batch file...
Post Reply