TCFS2 + TCFS2Tools: Full-screen mode for TC etc
Moderators: Hacker, petermad, Stefan2, white
Hi,
I am trying to use this to set TC always in full screen mode. So I just need a way to run the command on TC startup and all should be ok. As I am already using Autorun plugin to hide menu bar, I thought that would be the best place to run this command on TC startup, so I have this in my autorun.cfg:
ShellExec "%COMMANDER_PATH%\tools\TCFS2\TCFS2.exe" "fs2=if(hasCaption, locktc(1) + run_action(fs) + locktc(0) + show(3) + save_undo(fs_undo), show(9) + locktc(1) + run_action(fs_undo) + locktc(0)) run_item(update)"
but I get this error in startup and the command does not have any effect:
http://i.imgur.com/EmX4nJJ.png
I am doing the right thing?
thanks
I am trying to use this to set TC always in full screen mode. So I just need a way to run the command on TC startup and all should be ok. As I am already using Autorun plugin to hide menu bar, I thought that would be the best place to run this command on TC startup, so I have this in my autorun.cfg:
ShellExec "%COMMANDER_PATH%\tools\TCFS2\TCFS2.exe" "fs2=if(hasCaption, locktc(1) + run_action(fs) + locktc(0) + show(3) + save_undo(fs_undo), show(9) + locktc(1) + run_action(fs_undo) + locktc(0)) run_item(update)"
but I get this error in startup and the command does not have any effect:
http://i.imgur.com/EmX4nJJ.png
I am doing the right thing?
thanks
Interesting. I thought cm_100Percent always sets separator position to 100%, but it really expands active panel.mrle wrote:No, it is always expanding active panel.
There are some errors:jmwap wrote:I am trying to use this to set TC always in full screen mode. So I just need a way to run the command on TC startup and all should be ok. As I am already using Autorun plugin to hide menu bar, I thought that would be the best place to run this command on TC startup, so I have this in my autorun.cfg:
ShellExec "%COMMANDER_PATH%\tools\TCFS2\TCFS2.exe" "fs2=if(hasCaption, locktc(1) + run_action(fs) + locktc(0) + show(3) + save_undo(fs_undo), show(9) + locktc(1) + run_action(fs_undo) + locktc(0)) run_item(update)"
but I get this error in startup and the command does not have any effect:
http://i.imgur.com/EmX4nJJ.png
I am doing the right thing?
1. Since you specify exact command instead of just item name, you should use /ef before it.
2. You must quote entire commands. But since Autorun requires quotes also, you should use different quote kinds (Autorun feature): "" for inner TCFS2 parameters and '' for entire parameter string.
3. You can't set item name in command line, so fs2= is wrong.
So your command should be rewritten as:
Code: Select all
ShellExec "%COMMANDER_PATH%\tools\TCFS2\TCFS2.exe" '/ef "if(hasCaption, locktc(1) + run_action(fs) + locktc(0) + show(3) + save_undo(fs_undo), show(9) + locktc(1) + run_action(fs_undo) + locktc(0)) run_item(update)"'
Code: Select all
ShellExec "%COMMANDER_PATH%\tools\TCFS2\TCFS2.exe" '/ef "eval(show(9) + locktc(1) + run_action(fs) + locktc(0) + run_item(update))"'
Hi.
I would like to hide TC's windows title (mainly when I use TC on my 12" laptop) with a TC menu entry or button using TCFS2:
Is it possible with TCFS2 only or I must load TCFS2Tools too?
Honestly I dont know which command to use (I read readme file and TCFS2.ini in En folder). I'm blocked here:
Command: %Commander_Path%\tools\TCFS2\TCFS2.exe
Parameters: /ei <missingcommand>
Anyone could give me some hint about this?
Many thanks.
I would like to hide TC's windows title (mainly when I use TC on my 12" laptop) with a TC menu entry or button using TCFS2:
Is it possible with TCFS2 only or I must load TCFS2Tools too?
Honestly I dont know which command to use (I read readme file and TCFS2.ini in En folder). I'm blocked here:
Command: %Commander_Path%\tools\TCFS2\TCFS2.exe
Parameters: /ei <missingcommand>
Anyone could give me some hint about this?
Many thanks.
Updated version released. 
TCFS2 2.2.1.476:
+ case sensitive and insensitive INI string comparisons
+ send function is now able to send any virtual key (e.g. Win key as VK_91)
+ send function supports zero handle value (disables window activity checks)
* fixed string to number conversion when reading from INI
* items return 0 if no branches were executed
* ignoring double quotes bug

TCFS2 2.2.1.476:
+ case sensitive and insensitive INI string comparisons
+ send function is now able to send any virtual key (e.g. Win key as VK_91)
+ send function supports zero handle value (disables window activity checks)
* fixed string to number conversion when reading from INI
* items return 0 if no branches were executed
* ignoring double quotes bug
Hi MVV,are you still here?
Thanks for this powerful and useful tool!
I already use it to hide TC's menu bar and succeed,
but I meet a problem after press TC's ftp panel "FTPdiconnect",include "webdav" plugins
there will left a blank,when I change any view about TC,It resume normal.
so I creat a new button binding this actions:
[em_DisconnectFTP]
cmd=%COMMANDER_PATH%\Addons\TCFS2\TCFS2.exe
param= /ef tcm(552) tcm(102) tcm(101) tcm(3007)
to disconnect FTP、WebDav on buttonbar ,I can not find a way to replace the "disconnect" on FTP panel.
by the way,I want make a commander to realize a sequence of comamnds with TCFS2,
when I select a folder,press the button,It will do this:
1.rename the folder to It's origin name+date i.e A to A_20161210;
2.move all files and sub-folders in this folder out to current place;
now I make this
[em_RenameCopy]
cmd=%COMMANDER_PATH%\Addons\TCFS2\TCFS2.exe
param= /ef "tcm(1007) send(`[yMD]` `{ENTER}`) delay(100) tem(`em_CopyToHere`)"
[em_CopyToHere]
cmd=NirCMD.exe execmd Batch\CopyToHere.bat
param=%P%N "%P"
path=%COMMANDER_PATH%\TOOLS
CopyToHere.bat:
xcopy %1 %2 /e /h /k /y
two problem:
1.I don't know how to get/fix the name of folder with the date,
2.and I don't want use "xcopy" to move files and directorys because It's too slow,
I want to use "move" but It can not support this same parameters,I want use "tcm(1005)"but don't know how to
If you have any more smoothly method to do please tell me,thanks!
Thanks for this powerful and useful tool!
I already use it to hide TC's menu bar and succeed,
but I meet a problem after press TC's ftp panel "FTPdiconnect",include "webdav" plugins
there will left a blank,when I change any view about TC,It resume normal.
so I creat a new button binding this actions:
[em_DisconnectFTP]
cmd=%COMMANDER_PATH%\Addons\TCFS2\TCFS2.exe
param= /ef tcm(552) tcm(102) tcm(101) tcm(3007)
to disconnect FTP、WebDav on buttonbar ,I can not find a way to replace the "disconnect" on FTP panel.
by the way,I want make a commander to realize a sequence of comamnds with TCFS2,
when I select a folder,press the button,It will do this:
1.rename the folder to It's origin name+date i.e A to A_20161210;
2.move all files and sub-folders in this folder out to current place;
now I make this
[em_RenameCopy]
cmd=%COMMANDER_PATH%\Addons\TCFS2\TCFS2.exe
param= /ef "tcm(1007) send(`[yMD]` `{ENTER}`) delay(100) tem(`em_CopyToHere`)"
[em_CopyToHere]
cmd=NirCMD.exe execmd Batch\CopyToHere.bat
param=%P%N "%P"
path=%COMMANDER_PATH%\TOOLS
CopyToHere.bat:
xcopy %1 %2 /e /h /k /y
two problem:
1.I don't know how to get/fix the name of folder with the date,
2.and I don't want use "xcopy" to move files and directorys because It's too slow,
I want to use "move" but It can not support this same parameters,I want use "tcm(1005)"but don't know how to
If you have any more smoothly method to do please tell me,thanks!
Yes, I'm still there. 
(first, we cut trailing slash and run dir command to get folder timestamp, if folder is hidden, we need dir /ah; then we copy timestamp parts as we need: in my locale ITEMDATESTR looks like 10.12.2016 so I need to copy 4 characters starting from 6th, two starting from 3rd and two starting from beginning, so finally I get 20161210)
Next you need to move its contents to another location... You can just use move for every folder item, it will move subfolders too but it will only work within same volume:
But if you move across volumes, you need xcopy and rd instead.
And finally you need to rename old folder:
Same thing may be done with much simpler PowerShell script:
You can run it e.g. like this:
But it also requires additional actions if you move across volumes.

So, disconnect button on FTP panel and cm_FtpDisconnect work differently? Could you post a screenshot with that blank (and I don't use webdav plugin).after press TC's ftp panel "FTPdiconnect",include "webdav" plugins
there will left a blank,when I change any view about TC,It resume normal
Well, it may be easier to rename and move using the same batch file. This is how you can get folder date:two problem:
Code: Select all
@echo off
set ITEMPATH=%~dpnx1
if "%ITEMPATH:~-1%"=="\" set ITEMPATH=%ITEMPATH:~0,-1%
set ITEMDATESTR=
for /f "usebackq delims= " %%t in (`dir "%ITEMPATH%?" 2^>nul ^| find "<"`) do set ITEMDATESTR=%%t
if "%ITEMDATESTR%"=="" for /f "usebackq delims= " %%t in (`dir /a "%ITEMPATH%?" 2^>nul ^| find "<"`) do set ITEMDATESTR=%%t
echo ITEMDATESTR: %ITEMDATESTR%
set ITEMDATE=%ITEMDATESTR:~6,4%%ITEMDATESTR:~3,2%%ITEMDATESTR:~0,2%
echo ITEMDATE: %ITEMDATE%
Next you need to move its contents to another location... You can just use move for every folder item, it will move subfolders too but it will only work within same volume:
Code: Select all
set TARGETPATH=%~dpnx2
for /f "usebackq delims=" %%f in (`dir /b "%ITEMPATH%"`) do move "%%f" "%TARGETPATH%\"
for /f "usebackq delims=" %%f in (`dir /b /ah "%ITEMPATH%"`) do move "%%f" "%TARGETPATH%\"
And finally you need to rename old folder:
Code: Select all
move "%ITEMPATH%" "%ITEMPATH%_%ITEMDATE%"
Code: Select all
$folder = gi $args[0];
$targetPath = $args[1];
dir $folder -Force | move -Force -Destination $targetPath;
$timestamp = $folder.LastWriteTime.ToString('yyyyMMdd');
ren $folder "$($folder.Name)_$timestamp";
Code: Select all
Command: powershell.exe
Parameters: -ExecutionPolicy Bypass "X:\Path\To\RenameMoveScript.ps1" %P%N %P
Wo your quote is so fast,I'm very excited about it.
before:
thumbsnap.c om/s/TkuHCo9p.png
after:
thumbsnap.c om/s/6lr9SXAp.png
and I need two divided functions to apply "autorename" not only folder but also file(such as *.xls,*.xlsx,*.doc……)
e.g.
1
|—A
| |—A
| |—a1
| |—a2.*
Entering floder "1",select the folder "A" and press a customized button,It will do:
1.Rename father-folder "A" to "A_161211" ;(Done well for folder but not file)
If I wanna use tcm(1007) to autorename selected file or folder like this:
cmd=%COMMANDER_PATH%\Addons\TCFS2\TCFS2.exe
param= /ef "tcm(1007) send(`%oldname%_%ymd%` `{ENTER}`)
would you please teaching me how to do this?
2.move sub-folder "A"、"a1" and file "a2.*"……all contents in father-folder "A"(now is "A_161211") to folder "1",same level with "A_161211",no need enter "A_161211",and no need move to other volume too.(invalid)
thanks a lot~

Just like this——(I have no permision to post URL here still,so please attension there a space in "xxx.c om" need to remove it manually)So, disconnect button on FTP panel and cm_FtpDisconnect work differently? Could you post a screenshot with that blank (and I don't use webdav plugin).

before:
thumbsnap.c om/s/TkuHCo9p.png
after:
thumbsnap.c om/s/6lr9SXAp.png
It's do nothing on my PC but the rename valid,I don't know why and I click "move /?" in CMD window,there be normal respones.(Windows 7 utimate)Next you need to move its contents to another location... You can just use move for every folder item, it will move subfolders too but it will only work within
same volume:But if you move across volumes, you need xcopy and rd instead.Code: Select all
set TARGETPATH=%~dpnx2 for /f "usebackq delims=" %%f in (`dir /b "%ITEMPATH%"`) do move "%%f" "%TARGETPATH%\" for /f "usebackq delims=" %%f in (`dir /b /ah "%ITEMPATH%"`) do move "%%f" "%TARGETPATH%\"
I wanna rename the father-folder first to avoid replaced when moving the same name sub-folder out.And finally you need to rename old folder:Code: Select all
move "%ITEMPATH%" "%ITEMPATH%_%ITEMDATE%"
and I need two divided functions to apply "autorename" not only folder but also file(such as *.xls,*.xlsx,*.doc……)
e.g.
1
|—A
| |—A
| |—a1
| |—a2.*
Entering floder "1",select the folder "A" and press a customized button,It will do:
1.Rename father-folder "A" to "A_161211" ;
Code: Select all
@echo off
set ITEMPATH=%~dpnx1
if "%ITEMPATH:~-1%"=="\" set ITEMPATH=%ITEMPATH:~0,-1%
set ITEMDATESTR=
for /f "usebackq delims= " %%t in (`dir "%ITEMPATH%?" 2^>nul ^| find "<"`) do set ITEMDATESTR=%%t
if "%ITEMDATESTR%"=="" for /f "usebackq delims= " %%t in (`dir /a "%ITEMPATH%?" 2^>nul ^| find "<"`) do set ITEMDATESTR=%%t
echo ITEMDATESTR: %ITEMDATESTR%
set ITEMDATE=%ITEMDATESTR:~0,2%%ITEMDATESTR:~3,2%%ITEMDATESTR:~6,2%
echo ITEMDATE: %ITEMDATE%
move "%ITEMPATH%" "%ITEMPATH%_%ITEMDATE%"
If I wanna use tcm(1007) to autorename selected file or folder like this:
cmd=%COMMANDER_PATH%\Addons\TCFS2\TCFS2.exe
param= /ef "tcm(1007) send(`%oldname%_%ymd%` `{ENTER}`)
would you please teaching me how to do this?
2.move sub-folder "A"、"a1" and file "a2.*"……all contents in father-folder "A"(now is "A_161211") to folder "1",same level with "A_161211",no need enter "A_161211",and no need move to other volume too.
Code: Select all
@echo off
set ITEMPATH=%~dpnx1
if "%ITEMPATH:~-1%"=="\" set ITEMPATH=%ITEMPATH:~0,-1%
set TARGETPATH=%~dpnx2
for /f "usebackq delims=" %%f in (`dir /b "%ITEMPATH%"`) do move "%%f" "%TARGETPATH%\"
for /f "usebackq delims=" %%f in (`dir /b /ah "%ITEMPATH%"`) do move "%%f" "%TARGETPATH%\"
Sorry I just want to make some "simple" actions with already exsiting and requently used programs,so just only take a protable TC,no need to install etc.,I can use this all at anytime and any PCSame thing may be done with much simpler PowerShell script:

You're lucky.zhxeeaa wrote:Wo your quote is so fast,I'm very excited about it.

Well, if you can reproduce this behaviour w/o TCFS2 by executing FTP disconnect (552) command from menu or by Ctrl+Shift+F, or by executing cm_FtpDisconnect from TC command line, you should report it as a TC bug (but you should check it with latest RC version before reporting in such case).zhxeeaa wrote:Just like this——(I have no permision to post URL here still,so please attension there a space in "xxx.c om" need to remove it manually)![]()
before:
thumbsnap.c om/s/TkuHCo9p.png
after:
thumbsnap.c om/s/6lr9SXAp.png
OK, that makes sense, you can rename it first.I wanna rename the father-folder first to avoid replaced when moving the same name sub-folder out.
You can't insert timestamp directly from TC, you need some batch/script, but if you use batch/script, it is much easier to rename from it.If I wanna use tcm(1007) to autorename selected file or folder like this:
It's do nothing on my PC but the rename valid,I don't know why
I've forgotten to add paths for items to be moved. This should work for both folders/files except hidden ones (move command can't move hidden items).2.move sub-folder "A"、"a1" and file "a2.*"……all contents in father-folder "A"(now is "A_161211") to folder "1",same level with "A_161211",no need enter "A_161211",and no need move to other volume too.
Code: Select all
@echo off
set ITEMPATH=%~dpnx1
if "%ITEMPATH:~-1%"=="" set ITEMPATH=%ITEMPATH:~0,-1%
set ITEMDATESTR=
for /f "usebackq delims= " %%t in (`dir "%ITEMPATH%?" 2^>nul ^| find "<"`) do set ITEMDATESTR=%%t
if "%ITEMDATESTR%"=="" for /f "usebackq delims= " %%t in (`dir /a "%ITEMPATH%?" 2^>nul ^| find "<"`) do set ITEMDATESTR=%%t
set ITEMDATE=%ITEMDATESTR:~0,2%%ITEMDATESTR:~3,2%%ITEMDATESTR:~6,2%
set ITEMPATH_RENAMED=%ITEMPATH%_%ITEMDATE%
echo Renaming folder to "%ITEMPATH_RENAMED%"...
move "%ITEMPATH%" "%ITEMPATH_RENAMED%"
set TARGETPATH=%~dpnx2
for /f "usebackq delims=" %%f in (`dir /b "%ITEMPATH_RENAMED%"`) do move "%ITEMPATH_RENAMED%\%%f" "%TARGETPATH%"
for /f "usebackq delims=" %%f in (`dir /b /ah "%ITEMPATH_RENAMED%"`) do move "%ITEMPATH_RENAMED%\%%f" "%TARGETPATH%"
PowerShell is a system application which is available by default on any Windows 7+ installation, so it is absolutely portable. If you don't have to use Windows XP of course.Sorry I just want to make some "simple" actions with already exsiting and requently used programs,so just only take a protable TC,no need to install etc.,I can use this all at anytime and any PC

This should move contents after renaming (and it moves hidden items because of -Force switch):
Code: Select all
$folder = gi $args[0];
$targetPath = $args[1];
$timestamp = $folder.LastWriteTime.ToString('yyyyMMdd');
$renamedFolder = "$($folder.Parent.FullName)\$($folder.Name)_$timestamp";
move $folder $renamedFolder;
dir $renamedFolder -Force | move -Force -Destination $targetPath;