swcths

首页  后退  前进


down2

根据条件执行命令.

<SWITCH> ... <CASE> ... <#> ... <CASE> ... <#> ... <CASEELSE> ... <ENDSWITCH>

 

<SWITCH> value <CASE> expression1 <#> commands1 ... <CASE> expressionN <#> commandsN <CASEELSE> commands <ENDSWITCH>

 

参数:

<SWITCH>

条件触发器.

value

. 此外,将该值与每个<CASE>中的值(s)或值的范围进行比较,直到找到匹配.

<CASE>

阻止标签.

expression1

条件. 如果expression1与value的值匹配,则执行<#>后的command1表达式.

<#>

<CASE>块状态的结束标签.

commands1

命令行. 命令及其参数具有与示例中相同的语法.

...

...

<CASE>

阻止标签.

expressionN

条件. 如果expressionN与值的值匹配,则执行<#>后的命令N表达式.

<#>

<CASE>块状态的结束标签.

commandsN

命令行. 命令及其参数具有与示例中相同的语法.

<CASEELSE>

标签. [可选] 如果没有<CASE>条件与值的值相同,那么命令

commands

命令行. [可选] 命令及其参数具有与示例中相同的语法.

<ENDSWITCH>

条件结束标签.

备注

•标签,条件和命令由空格分隔.

•可以使用多个块<CASE>表达式<#>命令

 

•表达式可以包括:

  - 一个值(5) - 值将与值5进行比较.

  - 值的列举(5 OR 10 OR 28 ...) - 值将与值5,10,28进行比较

  - 范围值(5〜10) - 值将与值5,6,7,8,9,10进行比较

  - 范围和枚举的共享(1至4或7至9或28) - 值将与值1,2,3和4,7,8,9,28进行比较

 

•表达和值可以包括:

 »GLOBALNAME<>  - 全局变量的信息,请参见附录23

 "[info]或 <info>  - 通过参数收到的信息,参见附录10

 "[input],[combo],[group]  - 输入的参数信息,请参见附录18.

 »Clpget  - 剪贴板中的信息.

» exect命令的变量$var _...的值

 

•如果多于一个

 

•如果没有找到匹配,则执行

 

•连续几个条件

参见:

anf2d, arr2d, asave, cmd64, cmdcm, cname, cycles, dilog, dubls, dumpxx, envgt, global, hotkiy, ifthen, inbox, listx, macro, noglob, pause, pressy, scrpt, sends, slects, slist, swcmd, tempxx, timess, zmenu, zmenz

例子

 

<SWITCH> [info=s32] <CASE> 1 OR 2 OR 12 <#> bufsr=##зима <CASE> 3 TO 5 <#> bufsr=##весна <CASE> 6 TO 8 <#> bufsr=##лето <CASE> 9 TO 11 <#> bufsr=##осень <ENDSWITCH> infbx=||МЕСЯЦ~~В~~БУФЕРЕ||3||200||40 ;; 写到剪贴板月(夏天)

 

<SWITCH> [info=s6] <CASE> "WIN_XP" OR "WIN_XPe" <#> start=%%WINDIR%%\system32\Restore\rstrui.exe <CASEELSE> runcm=11||rstrui <ENDSWITCH> ;; 调用系统还原对话框,相对于版本

 

<SWITCH> [info=s6] <CASE> "WIN_XP" OR "WIN_XPe" <#> start=taskschd.msc <CASEELSE> runcm=11||dfrgui <ENDSWITCH> ;; 调用系统还原对话框,相对于版本

 

<SWITCH> [info=x18] <CASE> 0 OR 1 <#> tcimg=$cm905 buttn=TInpComboDlg||x|$h|$r{F2} <CASE> 3 <#> tcimg=$cm905 tcimg=$cm905 buttn=TDLGUNZIP||+tcTCUNZPACK4|$h buttn=TDLG2FILEACTIONMIN||+tcTCPACKD3 <CASE> 2 <#> tcimg=$cm905 buttn=TCheckEditBox||x|$v|$j+tcTCCOPYFTP2!!1||+tcTCCOPYFTP5 <ENDSWITCH> ;; 复制到对侧面板对象(根据面板的上下文启动不同的对话框)

 

<SWITCH> [info=x18] <CASE> 0 OR 1 <#> tcimg=$cm906 buttn=TInpComboDlg||x|$h|$r{F2} <CASEELSE> tcimg=$cm906 <ENDSWITCH> ;; 将对象移动到对侧面板(FTP和归档打开时不移动)

 

sends=@<info=v0%%PROGRAMFILES%%\Internet~~Explorer\iexplore.exe>||&&(\d).*!!$1 <SWITCH> GLOBALSENDS<1> <CASE> 8 <#> exect=$var_su='http://ya.ru!!Explorer' <CASE> 9 <#> exect=$var_su='http://www.mail.ru' <ENDSWITCH> brwsr=$var_su ;; 取决于浏览器的版本,打开不同的链接,如果IE版本9  - 然后Yandex,如果8然后邮件

up2

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