其它代码
其它代码
以下状态栏代码用于设置文本样式、显示有关当前驱动器或文件窗口的其它信息,或与变量和 if 条件配合使用。
其它代码
代码 | 说明 |
---|---|
<b>...</b> <i>...</i> <u>...</u> | 粗体文本 斜体文本 下划线文本 使用 HTML 风格标签加粗、倾斜或给状态栏上的文本加下划线。 <b>This Will Be Bold Text</b> <i>This Will Be Italic Text</i> <u>This Will Be Underlined Text</u> |
<#RRGGBB>...</#> | 文本颜色 围绕文本使用含 RGB 十六进制值标签使其颜色有所不同。 <#FF0000>This Will Be Red Text</#> |
{{ | 文字字符 { 连续添加两个 { 字符以将单个文字字符 { 插入状态栏文本,而无需将其解释为状态栏代码的开头。 |
// | 注释 使用 // 开头行将其变成注释。注释可用于添加注释或说明,或临时移除状态栏部分。 // 必须置于行的开头,之前不能有空格或其它任何内容,该行才成为注释。 |
# 其它代码 # 其它代码
代码 | 说明 |
---|---|
{dlet} | 驱动器代号 显示当前驱动器代号。它是指源文件列表中当前显示的文件夹。 |
{dlab} | 驱动器标签 显示源文件列表中当前打开的驱动器的标签(如果有)。 |
{fsys} | 文件系统 显示当前驱动器的文件系统类型。 |
{vm} | |
{ls} |
# 其它代码 # 其它代码
代码 | 说明 |
---|---|
{sel:..} | 所选文件信息 显示有关最近所选文件的信息。 sel: 后必须跟一个关键字以指定要显示的信息;有效关键字为:
例如,{sel:sizek} {sel:desc}。 |
# 其它代码 # 其它代码
代码 | 说明 |
---|---|
{var:...} | 变量名称必须以作用域为前缀。例如:
相同的作用域前缀还用于使用变量的命令中。此外,为了与其它状态栏代码保持一致,还可以使用:
@if:$glob:ShowExtraInfo @set glob:ShowExtraInfo @if:else @set glob:ShowExtraInfo=on @if:common @toggle:update 可以在变量名称前添加 ! 以对变量求反:
|
# 其它代码 # 其它代码
所有这些代码都会测试条件并返回结果。如果条件为真,则会返回“1”;如果条件为假,则会返回空(空字符串)。通常将它们用于显示或隐藏其它信息。单独使用它们来测试你的状态栏代码以检查它们是否按预期返回“1”可能会很有用,但是一旦测试完毕,可能只会在与 {h!} 和类似的 代码配合使用来显示和隐藏状态栏部分中使用它们。
计算 {ifpath:...} 相当便宜,请记住,其它条件测试可能会造成性能下降,尤其是在最终触及网络驱动器或求值复杂命令时。状态栏会经常更新——例如,每当选择或取消选择文件时——并且每次更新时都会重新求值添加到其中的任何条件测试。不要过度使用!
当根据多个条件显示或隐藏状态栏部分时,请在开头放置评价成本最低的那些。例如:
{ifpath:...} 测试很快,因为当前路径已经知道,只需与指定路径或通配符进行比较即可。如果该测试失败,则可以跳过随之而来的 {ifexists:...} 测试。按此顺序进行测试意味着你仅在重要时才会进行更昂贵的测试。{ifexists:...} 可能很耗时,因为它必须转到磁盘/文件系统以检查是否存在任何内容,这比测试已经存在于内存中的内容要慢得多。 如果你在状态栏上多次测试相同的条件,使用完全相同的代码,你只会在第一次测试中会受到性能损失;其它测试会复用其结果。
代码 | 描述 |
---|---|
{ifpath:...} | 测试当前路径 在 {ifpath:...} 中使用以测试当前路径是否与特定的文件夹、通配符或正则表达式匹配。 {ifpath:C:\Program Files} -- 当“C:\Program Files”是当前文件夹时为真。 引号是可选项,但如果路径中包含 { 或 } 字符,则 必须 使用引号将其括起来: {ifpath:"C:\My {Test} Folder"} -- 当“C:\My {Test} Folder”是当前文件夹时为真。 在路径前放置 ! 以否定测试。 {ifpath:!C:\Program Files} -- 当“C:\Program Files”不是当前文件夹时为真。 {ifpath:C:\Program Files '(x86')} -- 当“C:\Program Files (x86)”是当前文件夹时为真。 {ifpath:/downloads} -- 当在你的“下载”文件夹中时为真。 通配符提示 - 匹配文件夹和子文件夹: 以 (|\) 结尾的路径意味着它将匹配文件夹本身和其下的任何文件夹。例如:
{ifpath:...} 代码测试当前活跃的文件夹标签页的文件夹。你还可以使用:
|
{ifexists:...} | 测试路径是否存在 使用 {ifexists:...} 测试文件系统中的项目是否存在。如果在指定路径处存在文件或文件夹,测试将返回真;找到文件或文件夹不会产生差别。 与 {ifpath:...} 代码一样,引号是可选项,但如果路径中包含 { 或 } 字符,则必须使用引号。 你可以测试绝对路径是否存在: {ifexists:C:\Docs\My Special File.txt} -- 如果“C:\Docs\My Special File.txt”存在,则为真。 你还可以测试相对路径是否存在(即相对于文件夹标签页的当前位置)。相对路径 必须 以 .\(表示当前目录)或 ..\(表示当前目录的父目录)开头。 {ifexists:".\Help"} -- 如果“Help”存在于当前目录下,则为真。 可以在最后一个路径组件中使用基本的 * 通配符: {ifexists:".\.dll"} -- 如果当前目录下存在任何 *.dll 文件(或文件夹!),则为真。 与 {ifpath:...} 一样,你可以使用路径前放置 ! 来否定测试: {ifexists:!"C:\Test\.dll"} -- 如果“C:\Test”中不存在 *.dll 文件,则为真。 与 {ifpath:...} 一样,并且有其上方章节中讨论的类似注意事项,你可以使用 {ifexistsL:...}、{ifexistsR:...} 和 {ifexistsD:...} 以目标左、右或目标侧,而不是活动侧。 我们不建议测试网络驱动器上的路径,因为如果驱动器速度较慢或不可访问,这可能会造成严重的延迟。(Windows 需要最多 30 秒才能决定无法访问网络路径,并且可以阻止在此期间尝试访问的程序。)在可移动驱动器上测试路径或测试它们的存在也可能产生不希望有的副作用,但这取决于你正在测试的驱动器类型。 |
{if:...} {ifset:...} | “命令的状态” 通常表示如果将命令放置在工具栏按钮上,按钮是否会显示“按下”或激活。例如,Set VIEW=Details 命令将在文件列表为详细信息模式时显示为激活。 与 {ifpath:...} 代码一样,引号是可选项,但如果命令中包含 { 或 } 字符,则必须使用引号。 {if:Set VIEW=Details} -- 如果文件列表为“详细信息”模式,则为真。 {if:Toolbar NAME="My Toolbar" TOGGLE} -- 如果“My Toolbar”已打开,则为真。 {ifset:...} 仅仅是 {if:Set...} 的同义词,为了与程序其它部分中类似命令的兼容性而保留。 {ifset:VIEW=Details} -- 等同于 {if:Set VIEW=Details} 与 {ifpath:...} 一样,您可以使用路径前放置 ! 来否定测试: {if:!Set VIEW=Details} -- 如果文件列表不是“详细信息”模式,则为真。 作为一个示例用例,你可能希望在缩略图等模式下状态栏显示所选文件的时间和大小,而在详细信息模式下删除额外的杂项,因为详细信息模式在其中列中显示相同信息。你可以使用以下代码来实现此目的: {h!{if:!Set VIEW=Details}}{sel:size} {sel:write}{h!} 与 {ifpath:...} 一样,并且有其上方章节中讨论的类似注意事项,你可以使用 {ifL:...}、{ifR:...} 和 {ifD:...} 以目标左、右或目标侧,而不是活动侧。 将以下英文文本翻译成中文: |
最后更新于