问题解答

首页  后退  前进

 

引言

1.TCIMG实用程序的用途是什么?

2.如何着手开始?

3.TCIMG难以掌握吗?

4.如何在Total Commander中创建具有参数的TCIMG按钮?

5.如何修改Total Commander按钮?

6.调用TCIMG按钮时发生错误?

7.TCIMG的命令行结构?

8.我需要用引号括起tcimg的参数吗?

9.例子当中没有我所想要的,可以加上我的命令吗?

10.在TCIMG对话框中是否支持其它语言?

11.杀毒软件是否会删除TCIMG.exe?

12.如何在Total Commander中给一个tcimg命令分配组合热键?

13.是否可以不仅仅在Total Commander中使用TCIMG命令?

14.如何正确更新TCIMG?

15.更新时如何保存设置?

16.我需要在系统中注册TCIMG或TCIMG文件吗?

17.这个程序是否免费?

18.我可以在其它程序和项目中使用TCIMG吗?

19.该程序是否可在早期版本的Total Commander上运行?

20.可以创建相对于TCIMG文件夹的对象吗?

21.是否可以在Total Commander的命令行中指定TCIMG变量?

22.如何找出哪些路径落入到命令行中的%t,%p?

23.如果文件名中有变音符号,则命令不起作用 - 是否可以修复?

24.我可以使用指定的参数运行TCIMG,而不使用TC的快捷键吗?

25.长文件名中一些命令不起作用,怎么解决?

26.如果在处理%AppData%文件夹中的对象时,复制不起作用,如何解决?

27.不能使用命令来处理名称中有几个感叹号的对象,如何解决?


down1 引言
在为Total Commander编写大量vbs自动化脚本的过程中,我有一个想法:创建一个可以包含其中大部分功能的实用程序.一开始,只有十几个参数,旨在调用TC命令和模拟键盘,但现在"TCIMG"包含数百个命令和参数,可以解决各种任务.此外,TCIMG命令还可用于其它应用程序中(AkelPad,脚本编写,...).

对于我来说,"所有命令集中于一体"有很大的优势:

- 您不必为每个问题编写新脚本 - 这里已为你准备好若干命令或参数.

- 在一个地方存放一个功能繁多的库(超过3500个验证的功能),并且添加新的命令或扩展功能时,您不需要重复做相同的工作.

- 由于在大多数命令中函数是相互关联的,所以错误的校正会影响其它命令和参数的稳定性.

- 在一行中,可以使用完全不同的方法和命令,这增加了TCIMG的灵活性和功能.

- 许多命令能够创建/保存/转换初始和最终的数据列表,将其传递到其它命令,可解决相当复杂的任务.

- 节省了大量的时间和存储空间...

- 等等.

此外,与vbs相比,Autoit功能更强大,更有效率,例如支持剪贴板,正则表达式,系统,库,资源,窗口类,Internet,编码,INI文件,图像,压缩等操作.

虽然TCIMG是为我自己创建的,但我认为它对你也是有用的,并且将有助于简化你的工作.

下面我们将讨论与"TCIMG"相关的主要问题.


0. 任何命令都需要测试和验证.使用TCIMG的功能之前,使用测试文件和文件夹进行测试.在确保一切正常之后,再将其用于实际的对象.不要忘记复制并保存信息!


up1 down1 1.TCIMG实用程序的目的是什么?

TCIMG专为TC、应用程序和操作系统的一般和特殊的自动化任务而设计.每个在电脑上工作的人都有单调重复的任务(如文件分配,重命名照片,创建文件夹,获取信息...),需要几个小时甚至几天的时间.TC简化了这类工作,而"TCIMG"扩展了TC的功能,并允许您在一次点击中执行几乎所有任务.


up1 down1 2. 如何着手开始?

1) 将下载的TCIMG压缩包解压到任何文件夹中,建议tcimg文件夹位于Total Commander的文件夹中,此后就可以使用Total Commander的内部环境变量.请参阅附录13,当将TC移动到USB闪存驱动器或另一台计算机时,所有配置的按钮都可以正常工作.

您还可以将所有文件复制到Total Commander的根目录(和TOTALCMD.exe同目录).在所有示例中,这是%COMMANDER_PATH%\TCIMG.exe的路径.

2) 在工具栏上创建一个按钮并自定义所需的功能. 下面 将描述如何做到这一点.


up1 down1 3. TCIMG难以掌握?

不比一般软件困难.在帮助中有11427个例子,并在新版本中不断补充.如果你有任何问题,去相应的帮助部分,首先看一下例子 - 答案可能就在那里.如果没有,那么通过类比举一反三,你可以"收集"您的命令行和参数.

对于那些想要更深入了解的人,帮助中都会描述一切.只是乍一看似乎语法很复杂,初次接触者不太习惯.无论如何,您可以随时在"TCIMG"论坛的主题中咨询您的问题或在TCIMG网站上提出建议.


up1 down1 4. 如何在Total Commander创建具有参数的TCIMG按钮?

1) 在按住鼠标左键的同时,将可执行文件TCIMG.exe拖到Total Commander工具栏的可用区域.创建一个新按钮.

faq01

2) 更改设置,右键单击刚创建的按钮,在上下文菜单中,单击"更改":

faq02

3) 在出现的“更改单个按钮”对话框中:

faq03

修改相应的字段:

a)命令:建议删除TCIMG路径周围Total Commander自动放置的引号(但如果路径/名称中有空格,则需要它们).

b)参数:插入一行TCIMG参数.

示例:

copys=%L||"%t"//0 ;; 复制所选的对象到对侧面板,不替换已有对象。

在本帮助的示例中,参数和描述由" ;; "(1个空格,2个分号,1个空格)分隔.

在参数字段中插入上述示例左边的部分.

 c)开始路径:建议置空.

 d)图标文件:该图标可以更改为与按钮任务相对应的任何其它图标.

 e)提示:将描述插入按钮,在TCIMG示例中,这是";;"后面的正文部分

因此,我们得到以下设置和按钮:

faq04

faq05

要创建另一个按钮,重复上述操作,您还可以复制已创建好的按钮并将其粘贴在旁边.接下来,修改参数字段.

您也可以使用命令 butup从帮助示例中创建按钮.


up1 down1 5.如何修改Total Commander按钮?

右键单击创建的按钮.在弹出的上下文菜单中,单击"复制"

faq06

配置信息以文本形式写入剪贴板,具有以下结构:

TOTALCMD#BAR#DATA

%COMMANDER_PATH%\ADDONS\TCIMG\TCIMG.exe

copys=%L||"%t"//0

WCMICONS.DLL,1744

复制所选的对象到对侧面板,不替换已有对象。

 

 

-1

剪贴板里的"按钮提示"文本可以进行编辑修改,如改为:上传到网站上,发送消息,保存并转发为文本文件...

要在工具栏上插入按钮,您必须在工具栏的空白区域(或现有按钮之间)右键单击.在弹出的上下文菜单中,单击"粘贴"(如果剪贴板中没有按钮文本,则"粘贴"项目不会出现在上下文菜单中):

faq07

工具栏上将出现一个新按钮:

faq08

现在仍然要更改新的按钮配置(如图. 以上), 即:

- 检查并修改TCIMG的路径. (它可能与你的不同)

- 更改图标. (图标可能根本不显示,因为您没有示例中这样的库/图标)

- 描述文字(如有必要).

网站的主题 "TC的按钮" 您可以找到许多现成的定制按钮,其中放置了数千个文本代码以插入工具栏.


up1 down1 6. 调用TCIMG按钮时发生错误?

有几种可能的错误类型:

a)找不到文件:

faq09

您需要确保TCIMG的路径被正确调用(在按钮中的"命令"字段).

b)此功能在压缩文件中不起作用:

faq10

有许多命令不适用于文件面板中打开的压缩文件.

其余支持压缩文件的命令必须添加 %Z 到命令行的开头.如:

 

%Zinfos=1||2 ;; 显示Total Commander面板信息

 

c) 错误:

faq11

可能有几种不同的错误提示:

   - 参数未正确指定:(没有足够的条件,没有提供分隔符...).

   - 不是正确的使用条件(指定的应该是文件夹而不是文件,没有必需的参数...).

   - 代码中的错误.请通过 TCIMG 网站或邮件,ICQ ...报告错误。在这种情况下最好详细说明使用并附上错误提示(如 以上截图所示)。

d) NOT FILE:

faq15

文件夹中缺少足够的必需的文件 文件

 

e) 功能未实现! em_CommandTCIMG888

faq16

在一些与Total Commander相关的命令中  (例如 tcprm) 要调用参数,会在文件%COMMANDER_PATH%\UserCmd.ini中创建一个临时命令[em_CommandTCIMG888],然后运行这个em命令.

这个错误意味着Total Commander找不到这个命令 - 这可能是因为:

  - 没有足够的时间创建和运行命令.

    通过增加TCIMG.ini的[Setting]字段中的PauseTcPrm的值来解决.

   - 限制写入UserCmd.ini文件

    通过删除写限制属性(例如"只读","隐藏"...)或通过设置"完全访问"文件来解决.


如果发生错误,请检查您的版本是否为最新版本.最新版本可以在网页 TCIMG下载。


up1 down1 7. TCIMG的命令行结构?

命令行结构:

  - 单个命令,使用一个命令和参数字符串:

Command=StringParameters

 

   - 多命令,其中几个命令涉及参数,由空格分隔:

Command1=StringParameters1 Command2=StringParameters2 ... CommandN=StringParametersN

StringParameters参数字符串本身不应含有空格或双引号

如果在命令和参数中需要引号,请使用两个单引号(撇号)''

如果在命令中需要一个空格,请使用两个波浪号~~

双引号在特殊情况下使用,如果使用它们,则必须进行控制,以使其不与其它命令及其参数"冲突".其中一个例子是使用TC参数"%O",它必须加双引号,否则使用带有空格的名称时命令将无法正常工作:

 

creat=%p||"%O" ;; 在活动面板中创建一个与光标所在的文件同名但后缀名不同的文件

 

*如果在NTFS上为文件和文件夹创建8.3名称,则应使用引号.在这种情况下,Total Commander命令行的参数,如%p,%t. %n ...,不要将短文件/文件夹名称传递给参数字符串,但传递可能包含空格的全名/路径(例如将路径c:\Program Files\作为c:\PROGRA~1传递).所以参数%p,%t,%n ...应该加上""。如下所示例子:

 

creat="%p"||"%O" ;; 在活动面板中创建一个与光标所在的文件同名但后缀名不同的文件

 

当tcimg启动时没有任何参数,会出现如下对话框:

faq13

 


up1 down1 8.我需要用引号括起tcimg的参数吗?

不需要.


up1 down1 9. 例子当中没有我所要的,可以添加我想要的命令吗?

许多命令和参数都是由于用户提出的需求所致,对他们我表示致谢. 如您需要的话请在 TCIMG 主题中或 订制按钮主题中详细描述需求任务. 如果不是严格的个人需求,那么解决方案可能作为一个参数或单独的命令包含在TCIMG中.


up1 down1 10. 在TCIMG对话框中是否支持其它语言?

支持.目前已提供乌克兰语、英语、中文,每个人都可以自己来翻译为其它语言:

 1.在TCIMG.lng文件中,您需要翻译[Russian]字段的键值.

 2.根据所需语言的名称在同一个文件中创建与语言对应的字段.例如,[English]、[Chinese]......,并在其中翻译规定的键和值.

 3.为了使该语言出现在对话框中,在TCIMG.ini文件的[Setting]字段的Language=键中,将该值更改为您想要的语言名称:

[Setting]

Language=Chinese

或使用slang命令

您可以将您的翻译版本保存到语言文件中.

如您想将帮助文件翻译成其它语言,作者也将一切都准备好了.参见 chelp 命令帮助.


up1 down1 11. 杀毒程序是否会删除TCIMG.exe?

这是100%的虚惊.TCIMG代码中没有任何恶意代码.很多时候我发送文件来修复各种反病毒程序的误报,并修复了他们的数据库.以下是网站 VirusTotal.com 通过验证的截图 - 第62页(共23页)。我建议设置您的防病毒程序使TCIMG.exe被忽略.

如果您检查干净的代码,它显示0/62.当TCIMG.au3被编译成TCIMG.exe时,会发生误报.


up1 down1 12. 如何在Total Commander中给一个TCIMG命令分配组合快捷键?

例如有一个命令:

rstart ;; 重启Total Commander

a)在UserCmd.ini中创建一个用户命令em_Restart:

[em_Restart]

cmd=%COMMANDER_PATH%\TCIMG.exe

param=rstart

 

b)将命令与快捷键相关联:

这可以通过"其它"中的设置对话框完成:

faq14

或者在Wincmd.ini中的[Shortcuts]中,手动指定必要的快捷键组合。如果涉及WIN键,则在[ShortcutsWin]中定义:

[Shortcuts]

A+1=em_Restart

现在,使用ALT+1,将运行指定的命令.


up1 down1 13. 是否可以不仅仅在Total Commander中使用TCIMG命令?

当然.在以下地方:系统,脚本,其它应用程序,很容易调用"TCIMG"的一系列命令.它不需要特殊注册模块和库.在 集成 有几个例子,也许在将来会有更多的例子.


up1 down1 14. 如何正确更新TCIMG?

该工具的最新版本可以在页面 TCIMG下载. 使用压缩文件中的文件替换TCIMG文件夹中的所有文件.更新不影响配置的按钮和命令.版本更改参见:历史. 在网站"TCIMG"主题的附加备注参见:TCIMG


up1 down1 15. 升级时如何保存设置?

在3.7版本中,无论TCIMG.ini和TCIMG.lng如何更新,都可以保存设置.你需要做:

1.在TCIMG文件夹中创建文件TCIMGU.ini,并使用TCIMG.ini中的键传递所需的字段

2.在TCIMG文件夹中创建文件TCIMGU.lng,并使用TCIMG.lng中的键传递必要的字段

 

重要!该文件的编码格式必需是1200 UTF-16 LE(Unicode的小Endian).

您可以复制TCIMG.ini,重命名TCIMGU.ini并进行更改.

 

TCIMGU.iniTCIMGU.lng - 自定义设置文件.如果它们存在于TCIMG文件夹中,那么将自动从其中取出键值,缺少相应的TCIMG.ini和TCIMG.lng.

在TCIMG.lng中,Translite键不需要在TCIMGU.lng中重复,因为它仅从TCIMG.lng文件读取.

在TCIMG的较新版本中添加key或段时,无需将其复制到用户配置文件. TCIMGU.ini和TCIMGU.lng可以存储全部的配置或仅仅存储必要的配置.

 

3. 为了更新不会影响TCIMG.tcg文件中的多行命令,请在TCIMG文件夹或文件夹...\Files\Tcg\中创建一个tcg文件(例如TCIMGU.tcg),并在用户文件TCIMGU.ini的[Setting]字段的TCG键值写入其名称.

[Setting]

...

TCG=TCIMGU.tcg

 

如果使用多个文件,那么它们用/分开:

[Setting]

...

TCG=TCIMGU1.tcg/TCIMGU2.tcg

 

如果文件位于TCIMG文件夹外部或文件夹...\Files\Tcg\之外,则使用完整或相对路径:

[Setting]

...

TCG=C:\1\css.tcg/%COMMANDER_PATH%\1\css22.tcg

 

4. 在版本16.5中,TCIMG.ini的[Setting]字段添加了一个LNG 键,您可以在其中编写自定义.lng文件

指定完整路径,或相对路径名称.

有多个自定义lng文件通过分隔符/分开:

[Setting]

...

LNG=TCIMGL1.lng/TCIMGL2.lng/C:\1\SSS.lng/%COMMANDER_PATH%\1\LLL.lng

 


up1 down1 16. 我需要在系统中注册TCIMG或TCIMG文件吗?

不,"TCIMG"是完全便携式的,可以与可移动介质一起工作,无功能限制,在系统中不留任何痕迹.


up1 down1 17. TCIMG是否免费?

是."TCIMG"是完全免费的.

希望支持作者开发TCIMG和实施其它有趣的想法和项目的人,可以访问 支持页面.


up1 down1 18. 我可以在其它程序和项目中使用"TCIMG"吗?

可以."TCIMG"可用于各种程序和项目.但需满足两个前提:

1.传播不应该与许可矛盾.

2.在介绍、项目或程序的描述中,应提及TCIMG和它的支持网站.


up1 down1 19. "TCIMG"是否适用于早期版本的Total Commander?

"TCIMG"在TC8.1.0.0及更高版本上进行了测试.大多数命令都适用于所有版本.对于调用Total Commander窗口相关的命令,参见文件: TCIMG3264_8_01.ini , TCIMG3264_8_5.iniTCIMG3264.ini.

如果没有任何特殊需求,我建议切换到较新版本的Total Commander。如果某些功能不起作用,请告知TC的版本,不起作用的代码,我将尝试修改"TCIMG".


up1 down1 20. 可以创建相对于TCIMG文件夹的对象吗?

在版本5.0中,可以使用TCIMG内部路径变量:

%TCIMG_PATH% - TCIMG目录的路径(不带反斜杠)

%TCIMG_DRIVE% - TCIMG所在的驱动器的名称(如:D:)

在版本6.4中,添加了变量:

%TCIMG_TEMP% -Temp临时文件夹的路径,位于TCIMG的目录中.与%TCIMG_PATH%\Temp相同

要清理文件夹,可以使用命令 tempxx

在版本8.3中,添加了变量:

%TCIMG_INI% - 设置文件TCIMG.ini的路径

在8.5版本中,添加了变量:

%TCIMG_EXE% - 可执行文件TCIMG.exe的路径

变量未在系统中注册(仅用于调用命令时使用).

文件夹的其它缩写方式,请参阅 附录8


up1 down1 21. 可以在Total Commander的命令行中指定变量TCIMG吗?

可以,如果你使用 Autorun 插件.

在autorun.cfg中开始写入:相对于Total Commander文件夹的变量名和路径:

示例:

SetEnv /A TCIMG_DRIVE "%COMMANDER_DRIVE%"

SetEnv /A TCIMG_EXE "%COMMANDER_PATH%\TCIMG.exe"

SetEnv /A TCIMG_PATH "%COMMANDER_PATH%"

SetEnv /A TCIMG_TEMP "%COMMANDER_PATH%\Temp"

SetEnv /A TCIMG_INI "%COMMANDER_PATH%\TCIMG.ini"

连同启动Total Commander,将使用指定的变量,并可以在命令行中指定它们:

TOTALCMD#BAR#DATA

%TCIMG_EXE%

 

%TCIMG_EXE%

TCIMG

 


up1 down1 22. 如何看到命令行中的%t,%p ...包含了哪些具体路径?

为了在使用 Total Commander的参数时看到整个命令行,你可放置一个问号?作为参数的第一个字符。这使您可以查看或更改对话框中的输入数据。

如果TCIMG在Total Commander外部使用,则可以使用特殊的全局变量:

$CmdLine$CmdLineRaw

 


up1 down1 23. 如果文件名中有变音字母,则命令不起作用 - 是否可修复?

大多数示例使用%L参数传递对象列表.在这种情况下,Total Commander会以ANSI编码创建列表.如果文件/文件夹名称中有(ā,ȍ,Ŵ,ǎ...)符号,则它们将丢失,这样将会生成包含不存在的对象的错误列表,使得部分命令将无法正常工作或根本无法正常工作.要解决问题,您必须选择并使用正确的 Total Commander参数 , 即%UL,%UF,%WL,%WF,它们不会使Unicode字符失真.


up1 down1 24. 可以使用指定的参数运行"TCIMG",而无需使用Total Commander的快捷键?

自10.3版以来,包含了文件TCIMGGO.exe(一种启动器),允许您使用指定的参数运行TCIMG.exe.参见附录27


up1 down1 25.长文件名中一些命令不起作用,怎么解决?

大多数示例使用%L参数传递对象列表.在这种情况下,Total Commander会以ANSI编码创建列表.由于长文件/文件夹名称超过259个字符(完整路径),Total Commander将传递裁剪过的不正确路径到"TCIMG",因为对于%L和%UL,名称的长度有限制.在这种情况下,建议使用%WL参数来获取路径.

附:根据经验,我不建议创建一个非常深的文件夹结构和特别长的文件名,因为大多数程序在读取这些文件时有问题.


up1 down1 26.如果在处理%AppData%文件夹中的对象时,复制不起作用,如何解决?

类似的文件夹,如%PUBLIC%,%WINDIR%,%TEMP%,%APPDATA%,%USERPROFILE%,%ALLUSERSPROFILE%,%LOCALAPPDATA%等与系统有关的特殊文件夹(包括环境变量)或其它程序(例如,Total Commander,其具有%COMMANDER_PATH%,%COMMANDER_DRIVE%...)的文件夹缩写,几乎在所有TCIMG命令中,这些路径都是相对于绝对路径的相对路径。

您可以使用envgt命令来防止这种情况。


up1 down1 27.如果文件名中含有几个感叹号,tcimg命令处理不正常,如何解决?

在作者创建"TCIMG"的开始时,分隔符!!被放置在多个命令和参数中,事实证明,这是一个短视的错误.

在版本17.2中,一个附加的分隔符//被添加到所有这样的命令和参数中,这样可以解决这个问题.

在一些命令和参数中,添加了分隔符??和|.

您需要更改命令中的分隔符,类似于"帮助"中的示例.

译者注:感叹号"!"是文件名的合乎规范的字符。推荐使用"//"作为分隔符,来代替早期版本支持的"!!"。

 


tcimage © Аверин Андрей для Total Commander Image Averin-And@yandex.ru