附录-24字符串String

首页  后退  前进

添加到使用字符串转换的命令

 

参数可以任意顺序多次使用.

• 一般参数之间的分隔符为 ||

• 在特殊参数clip <>和convert <> 的参数分隔符为 ;;

• 在函数 _StringConv 默认分隔符 ¤¤, 可以在第三个参数中设置.

 

所有参数的常用标签:

cliptext - 在任何地方,cliptext标签将被替换为剪贴板的内容.

:NUMBER: - 任何地方的标签:NUMBER:处理列表时将被序号替换.

enum[] - 字母或数字计数器将被该值替换, 描述

@@ - 如果@@在特殊字符 (^^, $$, ## 和其它.)之后,那么后面的字符串将首先由参数 info 处理

path<> - 如果路径被传递,并且您需要获得路径的一部分:

img+  描述

 

 

 

 

参数 path<Number|LongShort|Conversion|Max>, 其中:

Number - 路径的部件号.见 附录9.

LongShort

 1 - 将路径转换成短名称.

 0 - 将路径转换成长名称.

Conversion

1  - 从绝对路径到相对路径的转换.

2  - 路径的相对部分被删除.

5  - 相对于绝对路径的转换(忽略重复的符号%,参考环境变量).

7  - 将路径从绝对路径转换为相对于"TCIMG"的内部变量的相对路径.

Max - 名称在Number=4,5,6,7处被截断的数字.

 

版本10.6引入了许多使用Autoit函数的能力。

Chr()ChrW() 替换为相应的字符.

ClipGet() 替换为剪贴板的内容.

Number() 允许您执行数学运算.

StringLeft() 允许获取左侧行的指定字符数.

StringRight() 允许您在右侧获取指定数量的字符.

StringMid() 允许获取字符串的一部分字符.

StringLen() 允许您获取字符串中的字符数.

 

 

 

!!

搜索和替换

&&

使用正则表达式搜索和替换

 

 

&?

正则表达式搜索

^^

插入到开头

$$

插入到最后

??

更改字符的大小写

@@

音译

##

替换

#?

替换条件

#A

插入到开头(不是所有命令)

?A

返回字符串中左侧的字符数

#B

将字符串转换为二进制数据

?B

删除/添加一个字符串到具有条件的字符串

#C

加密字符串

?C

将Unicode字符串转换为字符串

#D

解码字符串b64 xxe uue

?D

将Unicode字符串转换为字符串

#E

编码字符串b64 xxe uue

?E

交换指定的字符串

#F

逐行解密文本

?F

使用模板进行转换

#G

连续删除空格

?G

将字符串移动到指定的位置

#H

字符串的校验和

?H

分组和取消分组一行数字

#I


?I


#J

XOR编码/解码线

?J

移动替换字符串

#K

复制一个字符串

?K


#L

提取字符串

?L

删除字符串左侧的字符数

#M

逐行加密文本

?M

提取字符串中的部分字符

#N

用计数器替换

?N

删除字符串中的重复字符

#O


?O

从[Lines]读取一行]

#P

相对路径绝对

?P

随机搅拌

#Q

将字符串编码为十六进制字符串

?Q

从文件中搜索和替换

#R

解码字符串

?R

删除字符串中右侧的字符数

#S

自定义模板

?S

用ASCII代码替换字符

#T

将二进制数据转换为字符串

?T

指定字符串的转换

#U

解码十六进制字符串

?U

用值替换Autoit函数

#V

反向线

?V

执行 Autoit表达式

#W

二进制数据字符串扩展

?W

Unicode字符替换

#X

压缩一串二进制数据

?X

获取Internet页面的内容

#Y

二进制数据的压缩串

?Y


#Z

插入到最后(不是所有命令)

?Z

返回字符串中右侧的字符数

#0

将西里尔字母编码转换为ANSI

?0


#1

将UTF8编码转换为ANSI

?1


#2

将KOI8编码转换为ANSI

?2


#3

将866编码转换为ANSI

?3


#4

将ISO8859转换为ANSI

?4


 

 

参数

描述

Search!!Replace!!N!!R

 

==Search!!Replace!!N!!R

搜索和替换. Search - "要找什么"和Replace - "什么取代"是共享的!

要从文件中搜索或替换短语,请使用子参数[rfile = Path]或 <rfile = Path>,其中Path是文件的完整路径.

N  -  [可选]要执行的替换次数.使用负数来执行右侧的替换.

R  -  [可选]设置区分大小写标志. 0  - 不区分大小写(默认); 1  - 区分大小写; 2  - 不区分大小写,使用基本/快速比较; 0 =替换所有找到的字符串(默认)

可以使用参数rndm [Number|...]参见附录30.


如果搜索或替换短语从#P开始,则相对路径(后续字符串)将被转换为绝对值.

如果搜索或替换短语从#PS开始,则相对路径(后续字符串)将被转换为绝对值,其中斜杠由双倍替代.


因为在搜索(搜索)中,"TCIMG"中使用的特殊字符(##,??,**,$$等)可以到达开始,在添加字符串之前的这种情况下==

&&Pattern!!Replace!!N

使用正则表达式搜索和替换.如果短语(或分隔符||后面)以&&开头,然后下一个参数字符串由符号!!分隔,意味着用正则表达式搜索替换, 其中:

Pattern - 要搜索的字符串(正则表达式)

Replace - 替换为字符串(正则表达式).要插入组文本,请使用\0  - \9(或$0  -  $9)作为反向引用.空表示删除

N - [可选]每行替换次数.默认值0  - 替换所有找到的样本.

附录2.

&?Pattern!!Flag!!N!!Delim

正则表达式搜索.

Pattern -正则表达式字符串,要搜索的模式(模式).

Flag - [可选] 搜索模式:

   0 - 如果找到匹配则返回1,如果未找到则返回0.

   1 - 在第一场比赛之前搜索,返回与模式的完全匹配.

   3 - 返回以换行符分隔的所有匹配项(默认).

  N - [可选] 将搜索匹配的行的位置(默认值1)

  Delim  - 找到匹配项之间的[可选]分隔符(字符或字符串)(默认为换行符)

--------------------------------------------------------------------------------

当Flag=1和Flag=3时,如果未找到任何内容,则返回空字符串。

 

例:

"sends=%P%N||&?((?:[^\r\n]+(?:\r\n|$)*?){5})!!3!!1!!#:# GLOBALSENDS<a>" - 通过分隔符"#:#"将光标分割为5行.

&#Pattern!!List!!Count

与列表的正则表达式和顺序查找替换.

Pattern - 正则表达式字符串,搜索模式)(模板).

   如果pattern开始?关键的正则表达式是由TCIMG.ini从[Formatuser]键

List - 搜索字符串列表,选项:

   String - 替换字符串标记为分隔符 |.

   File - 与字符串列表替换文件路径.

   $GLOBALNAME - 全局字符串列表.

Count - [необязательный]

   0 - 替换在一个圆圈完成从字符串列表的列表(默认).

   1 - 置换完成后,直到在列表中高端路线,.

^^BeginLine

插入到开头. 如果短语(或分隔符||后面)以^^开头,下一个参数字符串将被插入到开头.

示例:

extrf=descript.ion||"%P"//0||^^Chr(239)Chr(187)Chr(191)Chr(13)Chr(10)||code<4>||upd<2>

$$EndLine

插入到最后. 如果短语(或分隔符||后面)以$$开头,然后下一个参数字符串将粘贴到最后.

??N(Pattern!!Replace)

更改字符的大小写. 如果短语(或分隔符||后面)以??开头,那么下一个数字就意味着:

 1  - 将字符转换成"全部小写".

 2  - 在"ALL CAPITAL"中.

 3  - "如句子".

 7  - "如句子"(逐行处理).

 4  - "首字符为大写"(逐行处理)

 8  - "标题开头(之前*任何#符号)"(逐行处理).

 5  - "符号符号".

 6  - 原样保留。在其他参数中更改大小写时指定。.

 

为了对该行的一部分执行此操作,使用该数字后面的正则表达式,其中:

 Pattern是一组正则表达式,用于搜索(pattern)的模式

 Replace是正则表达式的替换字符串.要插入组文本,请使用\0  - \9(或$0  -  $9)作为反向引用.

附录2.


如果没有!替换在字符串中,则所有短语将通过pattern Pattern搜索,他们的case相对于第一个参数被更改?N

@@Translit(!!1)

音译. 如果短语(或分隔符||后面)以@@开始,则下一个参数字符串将意味着转换模式的NAME.

在当前字符串中,在Source_Name键中注册的模板的指定符号(短语)将替换为注册在键值Target_Name中的相应符号(短语)

模板在 TCIMG.ini [Translit]字段中进行配置.


在一些模板中,为了避免(与模板重叠)错误的替换,当需要的短语被特殊的集合替换时,需要进行双重处理,然后通过适当的替换.

对于双重处理,您需要注册模板名称!1

##FullReplace

替换. 如果短语(或分隔符||后面)以字符##开头,然后FullReplace参数的后续字符串将替换现有的字符串.

#?FullReplace

条件替换. 如果短语(或分隔符||后面)以字符#?开始,如果FullReplace不是空字符串,则FullReplace参数的后续字符串将替换现有字符串.

#LString(|Mode)

提取字符串. 如果短语(或分隔符||后面)以#L开头,则后续的String字符串将是提取字符串数的数字或列表,可以有几个选项:

 N是行号.

 N1,N2,... NN  - 用逗号分隔的数字列表

 N:M是行的范围. (M-N是反向范围)

 N:M,N1:M1 ... NN,MM  - 范围数量的列表(直接和反向).

对于负值,相对于最后一行提取行.

Mode [可选] - 删除空行:

 0  - 不删除空行(默认)

  1  - 在检索行之前删除空行

  2  - 提取行后删除空行

当#L0时返回0,因为零行不存在.

#GNumber

删除连续空格. 如果短语(或分隔符||后面)以#G开头,然后下一个Number将是删除字符串中空格的模式:

数字可以是以下标志的总和:

  1 =删除字符串开始处的空格

  2 =删除字符串尾的空格

 4 =删除字符串中空格的重复(或重复重复)

 8 =删除所有空白字符(不需要汇总标志)

空格字符包括Chr(9),Chr(10),Chr(11),Chr(12),Chr(13),Chr(32),它们是 - 制表,换行符,垂直制表符,页面转换,返回马车和通常的空间.还有符号Chr(0).

#VString

字符串反向. 如果短语(或分隔符||后面)以#V开头,则指定的字符串String将改变字符的顺序.

#KCount~Delim!!String

#KMin:Max~Delim!!String

复制字符串.

如果在开始或分隔符后的短语||它开始于#K指定的字符串将被复制串COUNT倍。

Delim - [可选] 分离器重复行之间(默认分离器是不存在的).

 - 可在Count中使用数学方法.

 - 字符串如果没有指定,当前行被复制.


Min:Max - 随机范围, Min - 最小数量, Max - 最大.

 在Min和Max中,可以使用数学方法.

-------------------------------------------------------------

也可以使用一个结构,允许插入计数器时重复使用。

#KCount|Symbol|Begin|Step!!String

#KMin:Max|Symbol|Begin|Step!!String

 Symbol - 字符或字符串将由计数器替换。.

 Begin - 计数器的初始编号.

 Step - 步.

 

例:

"sends=x??-1||#K100|#|1|1!!Boy~~#@CRLFGirl~~#@CRLF GLOBALSENDS<a>" - 将字符串与计数器相乘

 

"sends=x||#K1000|#|1|1!!Case~~#@CRLF_Func#()@CRLF||^^$hTimer=TimerInit()@CRLF$n=1000@CRLFSwitch~~$n@CRLF||$$EndSwitch@CRLFFunc~~_Func1000()@CRLFMsgBox(4096,'测试','时间:'&TimerDiff($hTimer)/1000)@CRLFEndFunc creat="%p"||TestTime.au3||content<GLOBALSENDS<x1>>||upd<1>" - 在活动面板中创建测试au3脚本

 

"sends=??-1||#K3!!@CRLFxxx§~~zzz§~~vvv§ GLOBALSENDS<a> slist=$GLOBALSENDS||§!!:NUMBER: GLOBALSLIST<a>" - 计数器上符号“§”的行替换示例

 

"sends=??-1||#K3!!@CRLFxxx@~~zzz§~~vvv§ xends=$GLOBALSENDS??-1||#N@!!tnum[1|1|1]||?T|c,1:-1!!0!!§!!:NUM: GLOBALXENDS<a>" - 示例逐行编号

 

"aends=Line|??-4||^^xx-||#K10!! GLOBALAENDS<a>" - 重复行10次

"aends=Line~~#??-4||#K10~Chr(124)|#|1|1!! GLOBALAENDS<a>" - 重复行10次

"aends=Line~~#|??-4||#K10|#|1|1!!||?R1 GLOBALAENDS<a>" - 重复行10次

 

#SString

自定义模板. 如果短语(或分隔符||后面)以#S开始,然后在String参数的后续字符串中,用于转换的模板的名称以与formt<>参数相同的方式写入.见附录15

#NSearch!!Enum

用计数器替换. 如果短语(或分隔符||后面)以#N开头,然后下一个参数字符串将由每个发现子字符串的单独计数器替换Search!Enum !! Direction !!Registr,其中:

Search - "要找什么"

Enum - 行"替换为",其中在必要的地方一个格式的计数器

            tnum[Begin|Step|Numbers]

            enum[Letter|Step|Numbers]

       或 rndm[Number|Length] 见. 描述 TNUM

 可选 选项:

Direction - 替换方向:

   1  - 右(默认)

   -1  - 左

Registr - 对寄存器的敏感度:

   0  - 不区分大小写(默认)

    1  - 考虑到

#ECODED

编码字符串(文本格式). 如果短语(或分隔符||后面)以#E开始,则后续的CODED行将意味着编码方式:

 b64(MIME Base64中的编码)

 b64-(在MIME Base64中编码,删除换行符)

 b64 =(MIME Base64中的行编码)

 b64 +(MIME Base64中加上"caps"的编码)

 xxe(XXEncode中的编码)

 xxe~ (在XXEncode中编码,删除"cap")

 xxe-(在XXEncode中编码,删除"cap"和换行符)

 xxe =(编码XXEncode中剪贴板上的每一行)

 uue(UUEncode中的编码)

 uue~ (在UUEncode中编码,删除"cap")

 uue-(在UUEncode中编码,删除"cap"和换行符)

 uue =(在UUEncode中编码剪贴板上的每一行)

#DCODED

解码字符串(文本格式).如果短语(或分隔符||后面)以#D开始,则后续的CODED行将意味着解码方式:

 b64(MIME Base64解码)

 b64 =(MIME Base64逐行解码)

 xxe(解码XXEncode)

 xxe =(XXEncode的逐行解码)

 uue(UUEncode解码)

 uue =(UUEncode的逐行解码)

如:

"nends=-1??-1||#Db64||#B1||#T4 GLOBALNENDS<a>" - 解码剪贴板中的MIME(Base64)字符串(+以UTF8格式获取)

#HHASH|RG|LN

字符串校验和(文本格式). 如果短语(或分隔符||后面)以#H开头,随后的HASH字符串将意味着返回校验和的方法

 第一个参数是HASH方法(由md5,sha1,sha256,sha384,sha512,crc32,md2,md4,blake2s支持)

 第二参数RG [可选]  - 注册:

   0  - 大写(默认).

   1  - 小写.

 第二参数LN [可选]  - 处理:

   0  - 不逐行处理(默认情况下).

   1  - 逐行处理.

#CCRYPT

字符串加密(文本格式). 如果短语(或分隔符||后面)以#C开始,后续的字符串CRYPT将表示返回加密数据的方法,即:CryptKey(|Algorithm),其中:

 

CryptKey  - 加密密码,可以具有以下值:

  - 使用密码的文件路径(d:\Test\Test.txt)

  - 密码(12345)

-N - 意味着密码将从 TCIMG.ini 的字段[Password] 相应的键 PasswordN 中获取

-Nconvert<SeriesParam> - 意味着密码将从TCIMG.ini 的字段[Password] 相应的键 PasswordN中获取和根据SeriesParam的条件进行转换,其中SeriesParam系列密码转换参数参见当前 附录24. 参数之间的分隔符 ;;

 

Algorithm - 加密算法的缩写.

 支持:AES,AES128,AES192,AES256,DES,DESX,3DES,3DES112,RC2,RC4,RC5,SEAL

-N - 意味着密码将从 TCIMG.ini[Password] 字段的相应的键 AlgorithmN 中获取

 如果没有指定,它将被带入密钥 Algorithm1

 

-N  - 负数(-1,-2,... -N).

#MCRYPT

文字加密逐行(文字格式)

参数 类似#C

#RDECRYPT

解码字符串(文本格式). 如果短语(或分隔符||后面)以#R开头,那么以下DECRYPT字符串将意味着返回解密数据的方法,即: CryptKey(|Algorithm), 其中:

 

CryptKey - 解密密码可以具有以下值:

  - 使用密码的文件路径(d:\Test\Test.txt)

  - 密码(12345)

-N - 意味着密码将从 TCIMG.ini[Password] 字段的相应的键 PasswordN 中获取

-Nconvert<SeriesParam> - 意味着密码将从TCIMG.ini[Password] 字段的相应的键 PasswordN中获取并根据条件进行转换 SeriesParam, 其中 SeriesParam 密码转换系列参数cm.

当前附录24.参数之间的分隔符 ;;

 

Algorithm - 解密算法的缩写.

 支持:AES,AES128,AES192,AES256,DES,DESX,3DES,3DES112,RC2,RC4,RC5,SEAL

-N - 意味着密码将从 TCIMG.ini[Password]字段的相应的AlgorithmN 中获取

 如果没有指定,它将被带入密钥 Algorithm1

 

-N - 负数(-1,-2,... -N).

#FDECRYPT

逐行解码文本(文本格式)

参数 类似#R

#BNUMBER

将字符串转换为二进制数据.

NUMBER [可选] 转换类型:

 1  -  ANSI(默认)

  2  -  UTF16-LE

  3  -  UTF16-BE

  4  -  UTF8

逐行转换(每行分别):

 5  -  ANSI

  6  -  UTF16-LE

  7  -  UTF16-BE

  8  -  UTF8

#TNUMBER

将二进制数据转换为字符串.

NUMBER [可选] 转换类型:

 1  -  ANSI(默认)

  2  -  UTF16-LE

  3  -  UTF16-BE

  4  -  UTF8

逐行转换(每行分别):

  5  -  ANSI

  6  -  UTF16-LE

  7  -  UTF16-BE

  8  -  UTF8

#X#XS

压缩一串二进制数据. 如果处理不是二进制,而是一个文本字符串,它会自动转换成二进制,然后压缩.

 #XS  - 允许逐行压缩给定的行(每行单独).

#W#WT

二进制数据字符串扩展. 要解压缩二进制字符串和转换为文本,请使用参数#WT

多行数据逐行扩展(每行分别).

#U

#US

用任何附加字符解码十六进制字符串.

字符串"CFF0E8E2E5F2"或"%CF%F0%E8%E2%E5%F2"或"= CF=F0=E8=E2=E5=F2"...将被解码为"Hello"行.

 #US  - 逐行解码多行数据(每行单独).

#Q!!BeginLine!!EndLine

#QP!!BeginLine!!EndLine

#QS!!BeginLine!!EndLine

将字符串编码为十六进制字符串.

 BeginLine [可选] - 将字符串(字符)添加到每个编码字符的开头.

 EndLine [可选] - 将字符串(符号)添加到每个编码字符的末尾.

 #Q  - 只编码字符.

 #QP  - 编码而不损失特殊字符(换行符,回车符...).

 #QS  - 逐行,不丢失特殊字符(每行单独).

#0

将西里尔编码转换为ANSI 1251.

当文本的编码是未知的事先使用.

确定哪个五个字符集:KOI8-R,IBM-866,ISO-8859-5,utf-8,HEX文本属于和在1251转换.

字符串 "你好" 或 "ЏaOўҐv" 或 "rTYChEF" 或 "ґYuSaYuHgvaYu" 或 "RџSЂRoRІRμS" 或 "= CF=F0=E8=E2=E5=F2" ......将字符串 "Hello" 解码.

多行文本逐行处理.

#1

将UTF8的编码转换为ANSI 1251.

字符串"РџСЂР,РІРІРμС"将被解码为"Hello"行.

多行文本逐行处理.

#2

将KOI8编码转换为ANSI 1251.

字符串"pTYCHEF"将在"Hello"字符串中解码.

多行文本逐行处理.

#3

Преобразует кодировку 866 в ANSI 1251.

字符串"ЏаЁўҐв"将被解码为"Hello"行.

多行文本逐行处理.

#4

将ISO8859编码转换为ANSI 1251.

字符串""将被解码为"Hello"行.

多行文本逐行处理.

?CCode

?CCode1-Code2

将Unicode字符串转换为字符串.

1.代码 - 要转换字符串的附加编号见附录28

2. Code1-Code2  - 编码的数量,来自Code1编码的字符串将被转换为Code2编码

?DCode

?DCode1-Code2

将Unicode字符串转换为字符串.

1.代码 - 要转换字符串的附加编号见附录28

2. Code1-Code2  - 编码的数量,来自Code1编码的字符串将被转换为Code2编码

?ANumber|LN

返回左侧字符串中指定的字符数.

如果短语(或分隔符||后面)以?A开头,然后下一个数字将意味着获取左侧字符串的指定数量的字符.

 第二个参数LN [可选]代表行处理.

在数字中可以使用数学动作.

?ZNumber|LN

返回右侧字符串中指定的字符数.

如果短语(或分隔符||后面)以?Z开始,那么下一个数字将意味着在右边的字符串中获取正确的字符数.

 第二个参数LN [可选]代表行处理.

在数字中可以使用数学动作.

?LNumber|LN

删除左侧字符串中指定数量的字符.

如果短语(或分隔符||后面)以?L开始,那么下一个数字将从左边移除指定数量的字符.

 第二个参数LN [可选]代表行处理.

在数字中可以使用数学动作.

?RNumber|LN

删除指定数量的字符串字符在右边.

如果短语(或分隔符||后面)以?R开始,那么下一个数字将意味着删除右边字符串中正确的字符数.

 第二个参数LN [可选]代表行处理.

在数字中可以使用数学动作.

?MStart:Count:LN

提取字符串中的一些字符.

如果短语(或分隔符||后面)以?M开始,后续的起始号将指示字符串的初始字符的位置.

计数[可选]检索字符串的字符数(默认情况下,到-1行的末尾).

冒号是Start和Count之间的分隔符

 第三个参数LN [可选]代表行处理.

在开始和计数中,可以使用数学动作.

?BNumber!!Line

删除/添加一个字符串到具有条件的字符串.

如果短语(或分隔符||后面)以?B开始,后续的数字将指示删除/添加行行的条件.

 

  1   -  删除开始的行,如果有的话(考虑到注册表)

  2   -  删除行开头,如果有一个(不区分大小写)

  3   -  删除行末,如有(考虑到寄存器)

  4   -  删除行结尾,如果有一个(不区分大小写)

 5  - 添加行到开头,如果没有(考虑到注册表)

 6  - 添加行到开头,如果是无(不区分大小写)

 7  - 添加行到最后,如果没有(考虑到注册表)

 8  - 添加行到最后,如果是无(不区分大小写)

 

 9  -  删除行"开始"和结尾处(如果有的话)(考虑到寄存器)

 10  - 删除开头和短语行末尾,如果有一个(不区分大小写)

 

 11  - 添加行和开始和结束,如果有无(区分大小写)

 12  - 添加到开头和结束的短语Line,如果这样无(不区分大小写)

 

 13  - 添加行到开头如果有一个或删除,如果有(考虑到注册表)

 14  - 添加行到开头,如果有一个或删除,如果有(不区分大小写)

 

 15  - 添加行到最后,如果有一个或删除,如果有(考虑到注册表)

 16  - 添加行到最后,如果有一个或删除,如果有(不区分大小写)

 

 17  - 添加行到短语的开头,如果有一个或删除,如果有(考虑到注册表)

 18  - 添加行到短语的开头,如果有一个或删除,如果有(不区分大小写)

 

 19 - 在开始处删除行(如果有),将行短语添加到最后(区分大小写)

 20 - 在开始处删除行,如果有行,将行添加到最后(不区分大小写)

 

 21 - 删除最后的短语Line(如果有的话),在句首加上短语Line(考虑到寄存器)

 22 - 在结尾处删除Line(如果有的话),并在句首添加短语Line(不区分大小写)

 

img+  行删除/添加

 

 51  - 逐行删除行开头,如有(考虑到注册表)

 52  - 逐行删除行开头,如果有一个(不区分大小写)

 53  - 逐行删除短语行,如果有的话(考虑到寄存器)

 54  - 逐行删除行结尾,如果有一个(不区分大小写)

 

 55  - 一行一行,如果有一行无(区分大小写)

 56  - 逐行添加行短语,如果一个是无(不区分大小写)

 57  - 逐行添加短语行,如果没有(考虑到注册表)

 58  - 逐行添加行到底,如果是无(不区分大小写)

 

 59  - 一行一行删除在开头和末尾的行,如果有的话(考虑到寄存器)

 60  - 逐行删除在行短句末尾,如果有一个(不区分大小写)

 

 61  - 逐行添加行和结尾,如果有无(区分大小写)

 62  - 逐行添加行和结尾,如果有无(不区分大小写)

 

 63  - 逐行添加行短语,如果是或删除,如果有(考虑到注册表)

 64  - 一行一行,如果有一行无或删除,如果有(不区分大小写)

 

 65  - 逐行添加短语行,如果是或删除,如果有(考虑到注册表)

 66  - 逐行添加行短语,如果是或删除,如果有(不区分大小写)

 

 67  - 添加行到短语的开头,如果有一个或删除,如果有(考虑到注册表)

 68  - 添加行到短语的开头,如果有一个或删除,如果有(不区分大小写)

 

 69 - 逐行删除行,如果有的话,将行短语添加到最后(区分大小写)

 70 - 逐行删除行,如果有行,则在行尾加上短语(不区分大小写)

 

 71 - 逐行删除最后一行,如果有,添加行到开头(考虑到寄存器)

 72 - 在最后一行一行,如果有的话,在行首加上行(不区分大小写)

 

?FParameters

使用模板进行转换.

如果短语(或分隔符||后面)以?F打头,则随后的"Parameters"将意味着使用模板转换字符串,其中参数是一个或一系列参数,与附录15中的参数相同,其中删除了formt<>标记.

例:"sends=%L??-1||?Fframe1 GLOBALSENDS<a>" - 方括号框架路径

?S!!BeginLine!!EndLine

字符串的每个字符都用ASCII字符代码替换.

 BeginLine [可选] - 将字符串(符号)添加到每个替换字符的开头.

 EndLine [可选] - 将字符串(符号)添加到每个替换字符的末尾.

Asc()函数的类似,仅适用于字符串中的每个字符.

?W!!BeginLine!!EndLine

字符串中的每个字符都被替换为Unicode字符代码.

 BeginLine [可选] - 将字符串(符号)添加到每个替换字符的开头.

 EndLine [可选] - 将字符串(符号)添加到每个替换字符的末尾.

类似于AscW()函数,仅适用于字符串中的每个字符.

?T|Line1|Line2| ... |LineN

指定字符串的转换.

LineN 是一个字符串: Symbol,Numbers!!Text (可以通过分隔符 | 多次使用)

Symbol - 转换文本的模式:

  a  - 将文本添加到指定行号的行的开头.

  b  - 将文本添加到行的开头,除了指定行号的行外.

 

  z  - 将文本添加到指定行号的行的末尾.

  y  - 将文本添加到行的末尾,除了指定行号的行外.

 

  c  - 在给定行号的行中用正则表达式搜索和替换.

  x  - 用正则表达式搜索和替换,除了指定行号的行外.

 

  d  - 删除指定行号的行的内容.

  v  - 删除行的内容,除了指定行号的行外.

 

  f   - 删除指定行号的行.

    q  - 删除行,除了指定行号的行.

 

  e  - 转换指定给定行号的行.

  u  - 转换行,除了指定行号的行外.

 

Numbers - 文本行的行号,用逗号分隔(1,3,8,11).

   •符号 : 表示连续多个行的范围(5:10  - 从第5到第10行)

   •可以使用负数,这意味着从文件尾开始计数. (-1是最后一行)

   •可以组合使用以上几种条件(1,3,5:8,10,15:-1)

 

Symbol = "a", "z", "b", "y,"c", "x", "e", "u"

Text - text(string)被添加,它可以使用:

   •如果需要引号,则使用两个单引号(撇号):''

   •如果需要空格,则使用两个波浪符号~~.

   •对于特殊字符,可以使用ASCII字符代码和函数 Chr()和ChrW() 见附录26

   • cliptext - 在任何地方,cliptext标签将被替换为剪贴板的内容.

   • <info> - 参数见附录10传送的信息

   • GLOBALNAME - 全局变量传递的数据. 见附录23

   • 标签 :NUM: 将被当前行号替换.

   • 标签 :0NUM: 将替换为当前行号,相对于行数添加前导零.

 

Symbol = "c"和"x"

Text 是一个搜索和替换条件.语法类似于formt<>

 

Symbol = "d"和"v"和"f"和 "q"

Text 不需要指定

 

Symbol = "e"和"u"

Text 是转换条件.语法类似于当前的附录24.

    子参数之间的分隔符是 ;;


在版本14.9中添加:

对于所有 Symbol 里面的 Text 可以使用子参数 linen<Number>

其中 Number - 行号.对于负数,行从文件尾部开始计数.

该参数将被替换为指定行号的行的内容.


在版本14.0中添加了条件:

Symbol=Len,Numbers!!Text - 如果行的长度等于数字Len,则该行将被转换

Symbol>Len,Numbers!!Text - 如果行的长度大于数字Len,则该行将被转换

Symbol<Len,Numbers!!Text - 如果行的长度小于数字Len,则该行将被转换

Symbol?Len1-Len2,Numbers!!Text -如果行的长度在数字Len1到Len2的范围之间(含这些数字),则该行将被转换


在版本14.3中,添加了以下条件:

SymbolN:String,Numbers!!Text, 其中:

String

  要检查的字符串条目

   写入字符串的文件的路径或用于检查事件的行

  N

 1  - 如果在指定行的开头存在String条目,则该行将被转换

   2  - 如果在指定行的尾部存在String条目,则该行将被转换

   3  - 如果存在指定字符串的String条目,则该行将被转换

   4  - 如果在指定行的开头不存在String条目,则该行将被转换

   5  - 如果在指定行的尾部不存在String条目,则该行将被转换

   6  - 如果不存在指定字符串的String条目,则该行将被转换

   7  - 如果存在指定的正则表达式String字符串,则该行将被转换

   8  - 如果不存在指定的正则表达式String字符串,则该行将被转换

对于从1到6的多行字符串N,我们查找任何给定字符串的存在

 

  31  - 如果存在所有指定的String字符串(对于多行字符串有效),则字符串将被转换

  32  - 如果不存在所有指定的String字符串(如果为多行字符串,则为true),则该字符串将被转换

 

如果String中需要使用逗号和垂直线,那么:

 不要使用逗号,请使用'(右上单引号)

 不要使用垂直条,请使用|


高级选项:

pStart#Step - 允许您设置处理模式:

Start - 正在处理的行的初始编号(默认为1)

Step - 步长(默认1)

pStart#Step#InArow

Start - 正在处理的行的初始编号(默认为1)

Step - 步长(默认1)

InArow - 连续行数(默认值1)

在此步长中,Step应大于InArow的连续行数(否则结果为错误或错误的输出...)

?H|Number|Delim1|Delim2

分组和取消分组一行数字.

 Number - 转换模式.

   1  - 将字符串"1,2,3,4,5"转换为"1-5"

   2  - 将字符串转换为初步排序,并删除"1-5"中的重复项"1,4,2,5,3"

   5  - 将字符串"1-5"转换为"1,2,3,4,5"

   6  - 将字符串"01-05"转换为"01,02,03,04,05"(保留前导零)

 

 Delim1 [可选] - 分组时的字符串(字符)分隔符(默认为连字符 - )

 Delim2 [可选] - 字符之间的字符(字符)分隔符(默认逗号)

 在Delim1和Delim2中,可以使用AutoIt函数 Chr()ChrW(), 由相应的符号代替


该参数能够转换更复杂的字符串

"h1,h2,m1,h3,h4,h5,h6,h7,h8,h9,h10,h11,1,2,35,3,4,5,6,7,8,9,10,g11,g12,g13,14,28,m5,m6,m7"

在"h1,h2,m1,h3-h11,1,2,35,3-10,g11-g13,14,28,m5-m7"和后


逐行处理字符串,如果是多行文本.

?E|N1:N2|N1:N2 ...

交换指定的行.

 N1:N2  - 交换的行数.

  可以通过分隔符拼出几对|

 对于负数,计数是从最后的.

?G|N1:N2|N1:N2 ...

将字符串移动到指定的位置.

 N1:N2  - 线N1将移动到位置N2.

  可以通过分隔符拼出几对|

 必须考虑到字符串数组每次都会更改.

 对于负数,计数是从最后的.

?J|N1:N2|N1:N2 ...

移动替换字符串.

N1:N2 - 线N1将被移动,替换线N2.

 可以通过分隔符拼出几对|

 有必要考虑到行的数组每次都会更改和减少.

 对于负数,计数是从最后的.

?QParameters

从文件中搜索和替换.

Parameters - FilePath(|Section|Mode|Flag|Registr|Sort|Concurrence|SymbolDelim|Read) , 其中:

 

FilePath - 列表文件的路径(必需参数,其它可选).

   在列表中,搜索和替换的对,分开 "=" .

   每一对都有一条新线.

   如果替换未注册,则搜索字符串被删除.

   同样在搜索和替换中,您可以使用AutoIt函数插入字符 Chr()ChrW(),

     由相应的符号代替.

   同样在搜索和替换中,您可以使用@CRLF标记来指示字符串的传递.

$GLOBALNAME2D - 可用于数据传递2D列的2列,其中:

   在单元格的第0列中,要搜索的数据.

   在相应单元格的第1列中,替换数据.

示例

найти=заменить

Hello=пока

字符串 ChrW(8618) =

@CRLFнайти@CRLF=@CRLFзаменить@CRLF

Section - 如果在中文在对文件中指定,则指定段名称(否则写入#字符)(默认情况下不包含段).

Mode - 处理模式:

   0  - 默认值(默认值)。

   1  - 双重处理(这慢得多,但是防止替换字符串之间的交集)。

Flag - 清单准备:

   1 - 不预先清洁.

   2 - 删除备注在中列表"搜索和替换"(默认情况下,如果指定了该字段).

Registr -注册:

   0 - 替换不考虑注册.

   1 -区分大小写(默认值).

Sort -排序:

   0 - 不排序(默认)).

   1 - 按长度排序搜索行,降序. (这允许您按顺序替换:长行,然后是短的...).

Concurrence - 巧合:

 0  - 搜索字符串中的任何事件(默认).

   1  - 搜索与字符串的完全匹配. (仅当更改完全匹配时).

SymbolDelim - 符号分离搜索和替换对.

   默认字符 "="

   您也可以使用AutoIt函数插入符号 Chr()ChrW(), 由相应的符号代替.

Read

  0  - 文件或变量信息被读取一次,存储供以后使用(默认情况下).

   1  - 每次遇到参数时都会读出文件或变量信息.

?P

随机混合.

 多行文本字符串处理。

?O|Key

从中读取一个字符串 TCIMG.ini (TCIMGU.ini) 的 [Lines]字段.

Key - 键从该字段 [Lines]

?N

删除字符串中相同的字符.

 多行文本逐行处理.

?I=Number|SeriesParam

转换字符串相对于其长度.

=Number - 如果长度等于指定的编号,则进行转换

>Number - 如果长度大于指定的数字,则进行转换

<Number - 如果长度小于指定的数字,则转换

<>Number -如果长度不等于指定的数字,则转换

  ?Min-Max - 如果长度进入给定数字的最小 - 最大范围,则转换

 SeriesParam - 一系列转换参数. 见附录24 (参数之间的分隔符 ;; )

?U

用Autoit函数值替换。

Chr()ChrW() 替换为相应的字符.

ClipGet() 替换为剪贴板的内容.

Number() 允许您执行数学运算.

StringLeft() 允许获取左侧行的指定字符数.

StringRight() 允许您在右侧获取指定数量的字符.

StringMid() 允许获取字符串的一部分字符.

StringLen() 允许您获取字符串中的字符数.

?V

?V|2Symbols|String

执行/测试 Autoit表达式. (见 " Autoit函数" )

?V - 执行表达式自动当前行.

?V|2Symbols|String - 执行指定字符串的Autoit表达式, 其中:

2Symbols - 参数的2个字符见附录24 (^^, $$, ## 等等.)

   确定计算的表达式值的当前行中的位置。

String - Autoit表达式字符串.

   语法在字符串中很重要,否则将返回空字符串。

 

例子: ?V|$$|FileGetTime('::',0,1)&'<--->'

"vends=x||?V|##|Execute(StringRegExpReplace('3453645567567785675467456','(.)','$1+')&0) GLOBALVENDS<a>" - 添加给定数字的数字

 

"vends=x||?V|##|Execute(StringRegExpReplace(ClipGet(),'(.)','$1+')&0) GLOBALVENDS<a>" - 从剪贴板添加数字

?XURL\\Code

获取Internet页面的内容。

 URL - 链接 (http://tc-image.3dn.ru/forum/5-498-1)

 Code [可选] - 获取数据的编码:

   1 - ANSI 1251 (默认情况下)

   2 - UTF-16 LE 1200

   3 - UTF-16 BE 1201

   4 - UTF-8

   8 - 在隐藏的IE浏览器中打开页面并检索信息。

     可以从chm文件获取内容 (表格的链接: mk:@MSITStore:Path.chm::URL\\8)

     #TITLE\\9 - 获取打开窗口内容的html代码 Explorer, CHM, ..., 其中 TITLE - 标题或窗口句柄.

--------------------------------------------------------------------------------

也支持:

 $GLOBALNAME\\Code - 传递给全局数组的所有URL链接的html源代码

#AString

 

#ZString

插入. 在处理传递给命令的所有参数后插入。

 参数在命令中连接: lists, slist (和类似的), textx, textt, extra, extrf, urlxt, exbns, exbnf

 #A - 在所有转换后插入到开头.

 #Z - 在所有转换后插入到最后.

 可以使用字符串:

   • "@CR" - 回车 Chr(13), "@LF" - 换行符 Chr(10), "@CRLF" = @CR & @LF, "@TAB" - 符号 Tab Chr(9).

   • Autoit函数 ( 参见参数 ?U)

   • 全局变量的信息 GLOBALNAME<N>, GLOBALNAME<xN> (见附录23)

   • 变量信息 $var_... (参见命令 exect)

--------------------------------------------------------------------------------

如果在任何命令中需要参数,那么告诉我 - 我将连接。

#YParameters

从一个给定的字符和他们的分组.

Parameters - Mode:Split:Delim1:Delim2, 其中:

 

 Mode - 字符模式:

  -1 - 插入一个空行 (它允许你插入分隔符Delim2)

   0 - 被插入到当前行.

   1 - 从一串数字接收.

   2 - 从英文字母串接收.

   3 - 从俄文字母串接收.

   RegEx - 正则表达式以产生所需的字符.

 Split - 多少个字符是“分裂”的字符串量:

   0 - 不破.

 Delim1 - [可选] 字符之间的字符串(字符)间隔基团时分割分列.

   默认符号 |

  -1 - 换行符 @CRLF

 Delim2 - [可选] 字符串(字符)加入到带的端部.

--------------------------------------------------------------------------------

它可以通过分离器中使用的参数几组 !!

Mode:Split:Delim1:Delim2!!Mode:Split:Delim1:Delim2!!...!!Mode:Split:Delim1:Delim2

--------------------------------------------------------------------------------

 在Delim1 Delim2和功能可被使用的AutoIt CHR()和CHRW(),它们由相应的符号替换

 

例:

"sends=2b0aac0445c87ФР03УАРОФ??-1||#Y-1:::====@CRLF!!1:3:|:-1!!2:3:+:-1!!0 GLOBALSENDS<a>" - 从行数而得到和只分手至3个位数,那么只有英文字母,并通过3断裂,插入预定的起始行和当前的端部

"sends=2b0aac0445c87ФР03УАРОФ??-1||#Y1:3:|:-1!!2:3 GLOBALSENDS<a>" - 从行号获得只有突破到3个位数,那么只有英文字母,打破3

"sends=2b0aac0445c87ФР03УАРОФ||#Y1 GLOBALSENDS<a>" - 只从一个字符串中获取一个数字

"sends=2b0aac0445c87ФР03УАРОФ||#Y1:3 GLOBALSENDS<a>" - 刚刚走出行号,并在3位突破

"sends=2b0aac0445c87ФР03УАРОФ||#Y1:3:- GLOBALSENDS<a>" - 从行号获得的,只有向上突破3位数指定分隔符

"sends=2b0aac0445c87ФР03УАРОФ||#Y2 GLOBALSENDS<a>" - 接收行3分的只有英文字母

"sends=2b0aac0445c87ФР03УАРОФ||#Y2:3 GLOBALSENDS<a>" - 接收行3分的只有英文字母

"sends=2b0aac0445c87ФР03УАРОФ||#Y3:2 GLOBALSENDS<a>" - 从只有俄文字母和2号线的突破获得

"sends=2b0aac0445c87ФР03УАРОФ||#Y[\da-z]:3 GLOBALSENDS<a>" - 从该行获得的唯一的英文字母和数字除以3

 

 

#JNumber|LN

XOR编码/解码.

如果在开始或分隔符后的短语||它始于#J,数随后数字将意味着字符代码模块按位串的数量.

 第二个选项 LN [可选] 行的处理装置.

--------------------------------------------------------------------------------

在数数学可以用来.

编码/解码应使用相同的单元号完成.

 

例:

"vends=-1??-1||#J50|1 GLOBALVENDS<a>" - 做行Xor编码剪贴板内容的解码

 

除参数#N外:

 

tnum[]

 

enum[]

数字计数器

参数 tnum[Begin|Step|Count], 其中:

Begin - 初始数字.

Step - 步长

Count - 计数器中的位数.


字母计数器

参数 enum[Letter|Step|Count], 其中:

Letter - 用于开始计数的字母.

Step - 步长计数器.

Count - 计数器中的字母数.

 

有2个选项:

 1.其中使用了所有三个子参数[A|3|2]  - 在Total Commander的重命名对话框中的模拟计数器

 2.其中仅使用前两个[A +]或[A +|1](从开始添加+的字符)

 

计数器可以是拉丁文或西里尔文,取决于给定的字母 Letter

取决于给定的字母,计数器可以是小写的或大写的 Letter


字母计数器与自己的字符集.

参数 enum[Key?Number|Step|Count], 其中:

Key - 主要名称在TCIMG.ini 的[Enum], 其中通过分隔符|定义字符集.

Number - 数字 - 从集合中的哪个项目开始.

Step - 步长

Count - 计数器中的字母数.

 

示例

[Enum]

rndm[]

接收随机数据.附录30

 

举例:

extrf=descript.ion||"%P"//0||^^Chr(239)Chr(187)Chr(191)Chr(13)Chr(10)||code<4>||upd<2>

extra=%L||"%P"//0||xline<^^~~;;^^@@f13::>||#Z@CRLF||#AChr(13)Chr(10)||upd<2> ;;在文本文件的每一行前加上文件名和一个空格,并在文件头和文件尾部加回车换行

"xends=??-1||#K8!!@CRLF© GLOBALXENDS<a> slist=$GLOBALXENDS||©!!:NUMBER:=©||©!!Number(:NUMBER:*7-7) GLOBALSLIST<a>" - 用给定编号替换“©”的示例

"xends=??-1||#K8!!@CRLF© GLOBALXENDS<a> slist=$GLOBALXENDS||©!!:NUMBER:=©||©!!Number(GLOBALXENDS<0>*7-:NUMBER:*7) GLOBALSLIST<a>" - 用给定编号替换“©”的示例(反向)

"slist=LISTF<11/125/1237/23456>||$$=>||?V|$$|Floor(::/10)*10 GLOBALSLIST<a>" - 将数字舍入为10的示例

"slist=LISTF<11/125/1237/23456>||?V|##|'::=>'&Ceiling(::/10)*10 GLOBALSLIST<a>" - 将数字舍入到10向上的示例

"lists=%Z%L||##path<1|0|1>||$$~~''%%1''||^^''||$$''" - 对于选定的文件,将视图路径写入剪贴板 """方式" "%1""

"lists=%Z%L||##path<1|0|1>||&&(.+)!!''$1~~''%%1''''" - 对于选定的文件,将视图路径写入剪贴板 """方式" "%1""

 

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