<?xml version="1.0" encoding="UTF-8"?>
<toolbar>
	<image_settings fill="none" fit="0x408" image="" inheritable="yes" opacity="100" use_custom="no" />
	<buttons backcol="none" display="label" textcol="none" type="menu">
		<button backcol="none" display="both" label_pos="right" textcol="none" type="menu">
			<label>界面(&amp;U)</label>
			<icon1>#newmenu</icon1>
			<button backcol="none" display="both" label_pos="right" textcol="none" type="three_button">
				<label>背景[左键绿底/右键灰底]</label>
				<icon1>#default:godesktop</icon1>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>绿底</label>
					<tip>绿底</tip>
					<icon1>#default:godesktop</icon1>
					<function type="normal">
						<instruction>Set GRIDLINESH &quot;reset,toggle,fill,color=#D1DBD0,opacity=255&quot;</instruction>
						<instruction>Set BACKGROUNDIMAGE=filedisplay: BACKGROUNDIMAGEOPTS=fillcolor:#E7F8E9</instruction>
						<instruction>Set BACKGROUNDIMAGE=tree: BACKGROUNDIMAGEOPTS=fillcolor:#E7F8E9</instruction>
						<instruction>// Set BACKGROUNDIMAGE=tree: BACKGROUNDIMAGEOPTS=fillcolor:#CCEDC7</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>灰底</label>
					<tip>灰底</tip>
					<icon1>#default:godesktop</icon1>
					<function type="normal">
						<instruction>Set GRIDLINESH &quot;reset,toggle,fill,color=#E1E1E1,opacity=255&quot;</instruction>
						<instruction>Set BACKGROUNDIMAGE=filedisplay: BACKGROUNDIMAGEOPTS=fillcolor:#F5F5F5</instruction>
						<instruction>Set BACKGROUNDIMAGE=tree: BACKGROUNDIMAGEOPTS=fillcolor:#E7F8E9</instruction>
					</function>
				</button>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>启用大小相对图形</label>
				<icon1>#default:getsizes</icon1>
				<function type="normal">
					<instruction>Set RELATIVESIZEGRAPHS=toggle</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>启用日期相对图形</label>
				<icon1>#default:recentlist</icon1>
				<function type="normal">
					<instruction>Set RELATIVEDATEGRAPHS=toggle</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>显示友好日期</label>
				<icon1>#default:setdate</icon1>
				<function type="normal">
					<instruction>Set FRIENDLYDATES=toggle,normal</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>启用标记分配</label>
				<icon1>#default:setcolor</icon1>
				<function type="normal">
					<instruction>Set ENABLELABELFILTER toggle,三天内修改</instruction>
					<instruction>Set ENABLELABELFILTER toggle,空文件夹</instruction>
					<instruction>Set ENABLELABELFILTER toggle,程序文件</instruction>
					<instruction>Set ENABLELABELFILTER toggle,图片</instruction>
					<instruction>Set ENABLELABELFILTER toggle,音视频</instruction>
					<instruction>Set ENABLELABELFILTER toggle,压缩文件</instruction>
					<instruction>Set ENABLELABELFILTER toggle,文档</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none">
				<label>启用高亮[整行/名称列]</label>
				<icon1>#default:fullrowselection</icon1>
				<function type="normal">
					<instruction>Set FULLROWSELECT=Toggle,NameCol</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>启用网格换行</label>
				<tip>仅改变当前显示窗口，不修改首选项配置</tip>
				<icon1>#default:gridlines</icon1>
				<function type="normal">
					<instruction>Set GRIDLINESH=toggle</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>启用纵列网格线</label>
				<tip>仅对详情和增强模式有效\n仅改变当前显示窗口，不修改首选项配置</tip>
				<icon1>#default:sortby</icon1>
				<function type="normal">
					<instruction>// GRIDLINESH 样式参数 solid实线, alternate抖动线, dot点状线, dash虚线, dashdot虚线+点, dashdotdot虚线+两点</instruction>
					<instruction>// Set GRIDLINESV &quot;toggle,solid,color=#808080,opacity=80&quot;</instruction>
					<instruction>Set GRIDLINESV &quot;toggle,dash,color=#EE6666,opacity=255&quot;</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>启用[创建+修改]距今</label>
				<tip>仅改变当前显示窗口，不修改首选项配置</tip>
				<icon1>#default:flatview</icon1>
				<function type="normal">
					<instruction>SET COLUMNSTOGGLE=&quot;scp:FileAge/Modify(4)&quot;</instruction>
					<instruction>SET COLUMNSTOGGLE=&quot;scp:FileAge/Create(4)&quot;</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none">
				<label>启用[名称长度]排序</label>
				<tip>仅改变当前显示窗口，不修改首选项配置</tip>
				<icon1>#default:flatview</icon1>
				<function type="normal">
					<instruction>Set COLUMNSTOGGLE=eval:namelength(!,80)</instruction>
					<instruction>Set SORTBY=eval:namelength SORTREVERSE=togglesmart</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none" type="three_button">
				<label>切换[平面显示+按类型分组]</label>
				<icon1>#default:folderformatslist</icon1>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>切换[平面显示+按类型分组]</label>
					<tip>切换开关</tip>
					<icon1>#default:folderformatslist</icon1>
					<function type="normal">
						<instruction>@nodeselect </instruction>
						<instruction>@if:Set FLATVIEW=off</instruction>
						<instruction>Set FLATVIEW=mixed</instruction>
						<instruction>Set GROUPBY=&quot;extdir&quot; GROUPFOLDERSATTOP=on</instruction>
						<instruction>Go GROUPCOLLAPSE=*</instruction>
						<instruction>@if:else</instruction>
						<instruction>Set FLATVIEW=off</instruction>
						<instruction>Set GROUPBY=off</instruction>
						<instruction>Set COLUMNSADD=Index(0,a)</instruction>
						<instruction>SET COLUMNSFREEZE=1</instruction>
						<instruction>Set COLUMNSREMOVE=&quot;pathrel&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>折叠/展开所有组</label>
					<icon1>#default:groupby</icon1>
					<function type="normal">
						<instruction>@if:enabled Go GROUPCOLLAPSE=*</instruction>
						<instruction>GO GROUPCOLLAPSE=*</instruction>
						<instruction>@if:else</instruction>
						<instruction>GO GROUPEXPAND=*</instruction>
					</function>
				</button>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none" type="three_button">
				<label>切换[平面显示+按注释分组]</label>
				<icon1>#default:folderformatslist</icon1>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>切换[平面显示+按注释分组]</label>
					<tip>切换开关</tip>
					<icon1>#default:folderformatslist</icon1>
					<function type="normal">
						<instruction>@nodeselect </instruction>
						<instruction>@if:Set FLATVIEW=off</instruction>
						<instruction>Set FLATVIEW=mixed</instruction>
						<instruction>Set GROUPBY=&quot;comments&quot; GROUPFOLDERSATTOP=on</instruction>
						<instruction>Set GROUPCOMBINE=never</instruction>
						<instruction>Go GROUPCOLLAPSE=*</instruction>
						<instruction>@if:else</instruction>
						<instruction>Set FLATVIEW=off</instruction>
						<instruction>Set GROUPBY=off</instruction>
						<instruction>Set COLUMNSADD=Index(0,a)</instruction>
						<instruction>SET COLUMNSFREEZE=1</instruction>
						<instruction>Set COLUMNSREMOVE=&quot;pathrel&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>折叠/展开所有组</label>
					<icon1>#default:groupby</icon1>
					<function type="normal">
						<instruction>@if:enabled Go GROUPCOLLAPSE=*</instruction>
						<instruction>GO GROUPCOLLAPSE=*</instruction>
						<instruction>@if:else</instruction>
						<instruction>GO GROUPEXPAND=*</instruction>
					</function>
				</button>
			</button>
		</button>
		<button backcol="none" display="both" label_pos="right" textcol="none" type="menu">
			<label>标签(&amp;B)</label>
			<hotkeys>
				<chord>
					<key disable="yes">ctrl+shift+M</key>
					<key>T</key>
				</chord>
			</hotkeys>
			<icon1>#foldertabs</icon1>
			<button backcol="none" display="both" label_pos="right" textcol="none" type="menu">
				<label>标签位置</label>
				<icon1>#foldertabgrouplist</icon1>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>标签位置</label>
					<tip>重置为选项中设置的标签位置</tip>
					<icon1>#foldertabgrouplist</icon1>
					<function type="normal">
						<instruction>Set TABPOSITION=reset</instruction>
					</function>
				</button>
				<button backcol="none" display="label" textcol="none">
					<label>纵列相近</label>
					<icon1>#newcommand</icon1>
					<function type="normal">
						<instruction> Set TABPOSITION=left,together</instruction>
					</function>
				</button>
				<button backcol="none" display="label" textcol="none">
					<label>横行相近</label>
					<icon1>#newcommand</icon1>
					<function type="normal">
						<instruction> Set TABPOSITION=above,together</instruction>
					</function>
				</button>
				<button backcol="none" display="label" textcol="none">
					<label>居上</label>
					<icon1>#newcommand</icon1>
					<function type="normal">
						<instruction>Set TABPOSITION=above</instruction>
					</function>
				</button>
				<button backcol="none" display="label" textcol="none">
					<label>居下</label>
					<icon1>#newcommand</icon1>
					<function type="normal">
						<instruction>Set TABPOSITION=below</instruction>
					</function>
				</button>
				<button backcol="none" display="label" textcol="none">
					<label>居左</label>
					<icon1>#newcommand</icon1>
					<function type="normal">
						<instruction>Set TABPOSITION=left </instruction>
					</function>
				</button>
				<button backcol="none" display="label" textcol="none">
					<label>居右</label>
					<icon1>#newcommand</icon1>
					<function type="normal">
						<instruction>Set TABPOSITION=right</instruction>
					</function>
				</button>
				<button backcol="none" display="label" textcol="none">
					<label>相近</label>
					<tip>双栏时，两边的标签栏靠近在一起</tip>
					<icon1>#newcommand</icon1>
					<function type="normal">
						<instruction>Set TABPOSITION=together</instruction>
					</function>
				</button>
				<button backcol="none" display="label" textcol="none">
					<label>相远</label>
					<tip>双栏时，两边的标签栏远离到两端</tip>
					<icon1>#newcommand</icon1>
					<function type="normal">
						<instruction>Set TABPOSITION=apart</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>设置标签宽度为120</label>
					<tip>仅当标签栏位于左/右方才有效，位于上/下方无效</tip>
					<icon1>#foldertabs</icon1>
					<function type="normal">
						<instruction>Set TABWIDTH=120</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>首选项标签设置</label>
					<icon1>#empty</icon1>
					<function type="normal">
						<instruction>//Prefs PAGE=foldertabs</instruction>
						<instruction>Prefs PAGE=&quot;foldertabbars&quot;</instruction>
					</function>
				</button>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>在新标签中打开路径</label>
				<tip>若未选择，则在新标签中打开当前路径\n若选中软链接，则在新标签中打开其目标\n若有选中文件夹，则在新标签中打开之\n若只选中文件且含有快捷方式(.lnk)，则打开其目标\n未选中.lnk，则在新标签中打开当前路径</tip>
				<hotkeys>
					<key disable="yes">ctrl+T</key>
				</hotkeys>
				<icon1>#newtab</icon1>
				<function type="script">
					<instruction>@script JScript</instruction>
					<instruction>//为选定文件夹新建标签</instruction>
					<instruction>//Go NEWTAB=nofocus,findexisting FROMSEL</instruction>
					<instruction />
					<instruction>function OnClick(clickData)</instruction>
					<instruction>{</instruction>
					<instruction>	//DOpus.ClearOutput();</instruction>
					<instruction>	var cmd = clickData.func.command;</instruction>
					<instruction>	cmd.deselect = false;</instruction>
					<instruction>	var Mycmd = &quot;Go CURRENT NEWTAB&quot;;</instruction>
					<instruction>	var stab = clickData.func.sourcetab;</instruction>
					<instruction>	//if (stab.path.drive == 0 &amp;&amp; stab.selected.count &gt; 0)</instruction>
					<instruction>	//Mycmd = &quot;Go OPENCONTAINER NEWTAB=findexisting&quot;;</instruction>
					<instruction>	var sels = stab.selected;</instruction>
					<instruction>	if(sels.count &gt; 0){</instruction>
					<instruction>		if(sels(0).is_junction || sels(0).is_symlink || sels(0).ext == &quot;.lnk&quot; || //第一个选中项若是指向性的，则打开其目标位置</instruction>
					<instruction>			(!sels(0).is_dir &amp;&amp; DOpus.FSUtil.PathType(stab.path) == &quot;coll&quot;) ){ //在文件收集中，若选中第一项是文件则打开其父目录</instruction>
					<instruction>			Mycmd = &quot;Go opencontainer=target NEWTAB=findexisting,tofront&quot;;</instruction>
					<instruction>		} else {</instruction>
					<instruction>			if (stab.selected_dirs.count &gt; 0)</instruction>
					<instruction>				Mycmd = &quot;Go NEWTAB=nofocus,findexisting FROMSEL&quot;;//若选中了文件夹，则在新标签中打开文件夹</instruction>
					<instruction>			else //if (stab.selected_files.count &gt; 0)</instruction>
					<instruction>			{//未选中文件夹，只选中文件时，遍历判断是否包含.lnk快捷方式</instruction>
					<instruction>				for (var eSel = new Enumerator(stab.selected); !eSel.atEnd(); eSel.moveNext())</instruction>
					<instruction>				{</instruction>
					<instruction>					if (eSel.item().ext == &quot;.lnk&quot;)</instruction>
					<instruction>					{</instruction>
					<instruction>						Mycmd = &quot;Go opencontainer=target NEWTAB=findexisting,tofront&quot;;//打开快捷方式的目标位置</instruction>
					<instruction>						break;</instruction>
					<instruction>					}</instruction>
					<instruction>				}</instruction>
					<instruction>			}</instruction>
					<instruction>		}</instruction>
					<instruction>	}</instruction>
					<instruction>	cmd.RunCommand(Mycmd);</instruction>
					<instruction>}</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey="alt+T" hotkey_label="yes" textcol="none">
				<label>打开选定文件夹到目标栏</label>
				<tip>若未选择，则在目标栏中打开当前路径\n若有选中文件夹，则在目标兰中打开之\n若只选中文件且选中项有快捷方式(.lnk)，则打开其指向的目标\n</tip>
				<icon1>#getsizes</icon1>
				<function type="script">
					<instruction />
					<instruction>@script JScript</instruction>
					<instruction>/*function OnClick(clickData)</instruction>
					<instruction>{</instruction>
					<instruction>	var cmd = clickData.func.command;</instruction>
					<instruction>	cmd.deselect = false; // Prevent automatic deselection</instruction>
					<instruction>	if(clickData.func.sourcetab.selected_dirs.count == 0)</instruction>
					<instruction>	cmd.RunCommand(&quot;go current newtab=deflister,findexisting openindual&quot;);</instruction>
					<instruction>	else</instruction>
					<instruction>	cmd.RunCommand(&quot;go fromsel newtab=deflister,findexisting openindual&quot;);</instruction>
					<instruction>}</instruction>
					<instruction>*/</instruction>
					<instruction>function OnClick(clickData)</instruction>
					<instruction>{</instruction>
					<instruction>	//DOpus.ClearOutput();</instruction>
					<instruction>	var cmd = clickData.func.command;</instruction>
					<instruction>	cmd.deselect = false; // Prevent automatic deselection</instruction>
					<instruction>	var Mycmd = &quot;Go CURRENT NEWTAB=deflister,findexisting openindual&quot;;</instruction>
					<instruction>	var stab = clickData.func.sourcetab;</instruction>
					<instruction>	//if (stab.path.drive == 0 &amp;&amp; stab.selected.count &gt; 0)</instruction>
					<instruction>	//Mycmd = &quot;Go OPENCONTAINER NEWTAB=deflister,findexisting openindual&quot;;</instruction>
					<instruction>		if (stab.selected_dirs.count &gt; 0)</instruction>
					<instruction>		Mycmd = &quot;go fromsel newtab=deflister,findexisting openindual&quot;;</instruction>
					<instruction>		else if (stab.selected_files.count &gt; 0)</instruction>
					<instruction>		{</instruction>
					<instruction>			for (var eSel = new Enumerator(stab.selected); !eSel.atEnd(); eSel.moveNext())</instruction>
					<instruction>			{</instruction>
					<instruction>				if (eSel.item().ext == &quot;.lnk&quot;)</instruction>
					<instruction>				{</instruction>
					<instruction>					DOpus.Output(eSel.item().ext);</instruction>
					<instruction>					Mycmd = &quot;go opencontainer=target newtab=deflister,findexisting,tofront openindual&quot;;</instruction>
					<instruction>					break;</instruction>
					<instruction>				}</instruction>
					<instruction>			}</instruction>
					<instruction>		}</instruction>
					<instruction>	cmd.RunCommand(Mycmd);</instruction>
					<instruction>}</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey="alt+Y" hotkey_label="yes" label_pos="right" textcol="none">
				<label>移动标签到目标栏(&amp;Y)</label>
				<tip>仅有一个标签时，复制当前标签到目标栏；否则移动标签到目标栏</tip>
				<icon1>#syncpane1</icon1>
				<function type="script">
					<instruction>@script JScript</instruction>
					<instruction>function OnClick(clickData)</instruction>
					<instruction>{</instruction>
					<instruction>	var cmd = clickData.func.command;</instruction>
					<instruction>	cmd.deselect = false;</instruction>
					<instruction>	var vlis = clickData.func.sourcetab.lister;</instruction>
					<instruction>	//if(vlis.dual != 0 || clickData.func.tabs &gt; 1){</instruction>
					<instruction>	if(vlis.tabs.count == 1)</instruction>
					<instruction>		cmd.RunCommand(&quot;Go CURRENT NEWTAB=deflister,findexisting openindual&quot;);</instruction>
					<instruction>	else</instruction>
					<instruction>		cmd.RunCommand(&quot;Go TABMOVE=active&quot;);</instruction>
					<instruction>}</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey="186,4" hotkey_label="yes" label_pos="right" textcol="none">
				<label>从当前标签拆分为双栏(&amp;F)</label>
				<tip>仅当单栏时，将当前标签及其后标签全部拆分到双栏另一边</tip>
				<icon1>#syncpane1</icon1>
				<function type="normal">
					<instruction>Go TABMOVE=split</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey="ctrl+shift+Y" hotkey_label="yes" label_pos="right" textcol="none">
				<label>双栏时合并所有标签到单栏</label>
				<icon1>#syncpane1</icon1>
				<function type="script">
					<instruction>//@hideif:!Set DUAL=toggle</instruction>
					<instruction>@script JScript</instruction>
					<instruction>function OnClick(clickData)</instruction>
					<instruction>{</instruction>
					<instruction>	var cmd = clickData.func.command;</instruction>
					<instruction>	cmd.deselect = false;</instruction>
					<instruction>	var sTab = clickData.func.sourcetab</instruction>
					<instruction>	var lis = sTab.lister;</instruction>
					<instruction>	if(lis.dual==0) return;</instruction>
					<instruction />
					<instruction>	var sumleft = lis.tabsleft.count, sumright = lis.tabsright.count;</instruction>
					<instruction>	var l_r = &quot;right&quot;, sum = sumright, selectN = &quot;first&quot;, side = &quot; OPENINRIGHT&quot;, tabN = &quot;&quot;;</instruction>
					<instruction>	if(sumleft &lt; sumright){</instruction>
					<instruction>		l_r = &quot;left&quot;; sum = sumleft; selectN = &quot;last&quot;; side = &quot; OPENINLEFT&quot;; tabN = &quot;=0&quot;;</instruction>
					<instruction>	}</instruction>
					<instruction />
					<instruction>	//if(sTab.right){</instruction>
					<instruction>	for(var i=0; i&lt;sum; i++)</instruction>
					<instruction>		{</instruction>
					<instruction>			cmd.RunCommand(&apos;Set FOCUS=&apos;+l_r);</instruction>
					<instruction>			cmd.RunCommand(&apos;Go TABSELECT=&apos;+selectN+side);</instruction>
					<instruction>			lis.Update()</instruction>
					<instruction>			//log(lis.activetab.path)</instruction>
					<instruction>			cmd.SetSourceTab(lis.activetab);</instruction>
					<instruction>			cmd.RunCommand(&apos;Go TABMOVE&apos;+tabN);</instruction>
					<instruction>			lis.Update()</instruction>
					<instruction>			if(lis.dual==0) break;</instruction>
					<instruction>		}</instruction>
					<instruction>	</instruction>
					<instruction>	/*</instruction>
					<instruction>	var sTab = clickData.func.sourcetab</instruction>
					<instruction>	var dTab = clickData.func.desttab</instruction>
					<instruction>	var LTab, RTab</instruction>
					<instruction>	if(sTab.right){</instruction>
					<instruction>		LTab = dTab</instruction>
					<instruction>		RTab = sTab</instruction>
					<instruction>	} else {</instruction>
					<instruction>		LTab = sTab</instruction>
					<instruction>		RTab = dTab</instruction>
					<instruction>	}</instruction>
					<instruction>	*/</instruction>
					<instruction>}</instruction>
					<instruction />
					<instruction>function log(str){DOpus.Output(str,false,true);}</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey="191,2" hotkey_label="yes" label_pos="right" textcol="none">
				<label>打开选定项的上级目录到目标栏</label>
				<tip>在虚拟路径、查找结果或文件收集中比较有用\nShift+双击文件名称(在文件类型中定义的动作)</tip>
				<icon1>#getsizes</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>//Go OPENCONTAINER NEWTAB=findexisting,nofocus</instruction>
					<instruction>Go OPENCONTAINER OPENINDUAL NEWTAB</instruction>
					<instruction>//SET DEST=FOCUS</instruction>
					<instruction>//Set QUICKFILTERCLEAR</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>为上级文件夹新建标签页</label>
				<tip>在新标签页中打开上级文件夹</tip>
				<icon1>#goupnewtab</icon1>
				<function type="normal">
					<instruction>Go UP NEWTAB</instruction>
				</function>
			</button>
			<button backcol="none" display="both" separate="yes" textcol="none">
				<label>新建空标签(&amp;K)</label>
				<tip>新建空标签并聚焦于地址栏</tip>
				<icon1>#newtab</icon1>
				<function type="normal">
					<instruction>//Go NEWTAB TABPOS=+1</instruction>
					<instruction>Go NEWTAB TABPOS=last</instruction>
					<instruction>Set FOCUS=pathfield</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none" type="menu">
				<label>关闭标签(&amp;C)</label>
				<icon1>#closetab</icon1>
				<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
					<label>关闭标签页</label>
					<tip>关闭当前标签页</tip>
					<hotkeys>
						<key disable="yes">ctrl+W</key>
						<key disable="yes">ctrl+f4</key>
					</hotkeys>
					<icon1>#closetab</icon1>
					<function type="normal">
						<instruction>Go TABCLOSE</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey_label="yes" textcol="none">
					<label>关闭左侧标签</label>
					<hotkeys>
						<key disable="yes">ctrl+shift+W</key>
					</hotkeys>
					<icon1>#closelister</icon1>
					<function type="normal">
						<instruction>Go TABCLOSEALL=left</instruction>
					</function>
				</button>
				<button backcol="none" display="both" textcol="none">
					<label>关闭右侧标签\t</label>
					<icon1>#closelister</icon1>
					<function type="normal">
						<instruction>Go TABCLOSEALL=right</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey_label="yes" textcol="none">
					<label>关闭其他标签</label>
					<tip>仅保留当前标签</tip>
					<hotkeys>
						<chord>
							<key>tab</key>
							<key>escape</key>
						</chord>
					</hotkeys>
					<icon1>#closelister</icon1>
					<function type="normal">
						<instruction>Go TABCLOSEALL</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey_label="yes" textcol="none">
					<label>关闭重复标签(&amp;D)</label>
					<hotkeys>
						<chord>
							<key>tab</key>
							<key>space</key>
						</chord>
					</hotkeys>
					<icon1>#closetab</icon1>
					<function type="script">
						<instruction>@script JScript</instruction>
						<instruction>function OnClick(clickData)</instruction>
						<instruction>{</instruction>
						<instruction>	var cmd = clickData.func.command;</instruction>
						<instruction>	cmd.deselect = false;</instruction>
						<instruction>	cmd.ClearFiles();</instruction>
						<instruction />
						<instruction>	var lister = clickData.func.sourcetab.lister;</instruction>
						<instruction>	closeDuplicateTabs(cmd, lister.tabsleft);</instruction>
						<instruction>	closeDuplicateTabs(cmd, lister.tabsright);</instruction>
						<instruction>}</instruction>
						<instruction />
						<instruction>function closeDuplicateTabs(cmd, tabList)</instruction>
						<instruction>{</instruction>
						<instruction>	var mapPaths = DOpus.Create.Map();</instruction>
						<instruction>	var vecTabsToClose = DOpus.Create.Vector();</instruction>
						<instruction>	var tabIndex = 0;</instruction>
						<instruction />
						<instruction>	for (var eTabs = new Enumerator(tabList); !eTabs.atEnd(); eTabs.moveNext())</instruction>
						<instruction>	{</instruction>
						<instruction>		var tab = eTabs.item();</instruction>
						<instruction>		var tabPath = tab.path;</instruction>
						<instruction>		</instruction>
						<instruction>		if (mapPaths.exists(tabPath))</instruction>
						<instruction>		{</instruction>
						<instruction>			vecTabsToClose.push_back(tab);</instruction>
						<instruction>			if (tab.visible)</instruction>
						<instruction>			{</instruction>
						<instruction>				cmd.RunCommand(&quot;Go TABSELECT=&quot; + mapPaths(tabPath));</instruction>
						<instruction>			}</instruction>
						<instruction>		}</instruction>
						<instruction>		else</instruction>
						<instruction>		{</instruction>
						<instruction>			mapPaths(tabPath) = tabIndex;</instruction>
						<instruction>		}</instruction>
						<instruction>		</instruction>
						<instruction>		tabIndex = tabIndex + 1;</instruction>
						<instruction>	}</instruction>
						<instruction />
						<instruction>	if (vecTabsToClose.empty)</instruction>
						<instruction>		return;</instruction>
						<instruction />
						<instruction>	cmd.Clear();</instruction>
						<instruction />
						<instruction>	for (var eTabs = new Enumerator(vecTabsToClose); !eTabs.atEnd(); eTabs.moveNext())</instruction>
						<instruction>	{</instruction>
						<instruction>		var tab = eTabs.item();</instruction>
						<instruction>		if (tab.lock == &quot;off&quot;)</instruction>
						<instruction>			cmd.AddLine(&quot;Go TABCLOSE=&quot; + tab);</instruction>
						<instruction>	}</instruction>
						<instruction />
						<instruction>	cmd.Run();</instruction>
						<instruction>	cmd.Clear();</instruction>
						<instruction>}</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>关闭含有 C: 标签</label>
					<tip>关闭所有打开C: 路径的标签</tip>
					<icon1>#closetab</icon1>
					<function type="normal">
						<instruction> Go TABCLOSE PATH=C:\*</instruction>
					</function>
				</button>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" separate="yes" textcol="none">
				<label>恢复关闭的标签页</label>
				<tip>重新打开上一个或多个已关闭的标签页</tip>
				<hotkeys>
					<key disable="yes">ctrl+shift+T</key>
				</hotkeys>
				<icon1>#undoclosetab</icon1>
				<function type="normal">
					<instruction>Go TABUNDOCLOSE</instruction>
					<instruction>//TabRescue LAST</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none" type="menu_button">
				<label>最近关闭的标签页(TabRescue)</label>
				<tip>脚本: TabRescue，管理最近关闭的标签</tip>
				<icon1>#undoclosetab</icon1>
				<function type="normal">
					<instruction>//https://resource.dopus.com/t/tabrescue-quickly-restore-your-closed-tabs/55768</instruction>
					<instruction>//TabRescue LAST</instruction>
					<instruction>TabRescue LIST</instruction>
				</function>
				<button backcol="none" display="label" textcol="none">
					<label>清除历史关闭标签</label>
					<icon1>#newcommand</icon1>
					<function type="normal">
						<instruction>TabRescue CLEAR</instruction>
						<instruction />
						<instruction>//暂停记录关闭的标签历史</instruction>
						<instruction>//TabRescue TOGGLEPAUSE</instruction>
					</function>
				</button>
			</button>
			<button backcol="none" display="both" hotkey="shift+tab" hotkey_label="yes" textcol="none">
				<label>标签切换菜单(&amp;S)</label>
				<tip>弹出标签列表菜单，Tab / Shift+Tab 可上下切换，空格激活不消失/回车激活后消失</tip>
				<icon1>#foldertabgrouplist</icon1>
				<function type="normal">
					<instruction>Go TABSWITCHER</instruction>
					<instruction>//Go TABLIST=keys</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none" type="menu">
				<label>标签列表</label>
				<hotkeys>
					<chord>
						<key>tab</key>
						<key>Q</key>
					</chord>
				</hotkeys>
				<icon1>#Program_Icos:55.Menu</icon1>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>标签列表</label>
					<icon1>#empty</icon1>
					<function type="normal">
						<instruction>Go TABLIST=keys</instruction>
						<instruction>//Go TABLIST=keys OPENINDEST</instruction>
					</function>
				</button>
			</button>
			<button backcol="none" display="both" dropdown_glyph="yes" label_pos="right" textcol="none" type="menu">
				<label>标签定位(&amp;A)</label>
				<icon1>#newmenu</icon1>
				<button backcol="none" display="both" hotkey_label="yes" textcol="none">
					<label>最右的标签</label>
					<hotkeys>
						<chord>
							<key>tab</key>
							<key>192,0</key>
						</chord>
					</hotkeys>
					<icon1>#goupnewtab</icon1>
					<function type="normal">
						<instruction>Go TABSELECT=last</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey_label="yes" textcol="none">
					<label>第 1 个标签</label>
					<hotkeys>
						<chord>
							<key>tab</key>
							<key>1</key>
						</chord>
					</hotkeys>
					<icon1>#default:empty</icon1>
					<function type="normal">
						<instruction>Go TABSELECT=first</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey_label="yes" textcol="none">
					<label>第 2 个标签</label>
					<hotkeys>
						<chord>
							<key>tab</key>
							<key>2</key>
						</chord>
					</hotkeys>
					<icon1>#default:empty</icon1>
					<function type="normal">
						<instruction>Go TABSELECT=1</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey_label="yes" textcol="none">
					<label>第 3 个标签</label>
					<hotkeys>
						<chord>
							<key>tab</key>
							<key>3</key>
						</chord>
					</hotkeys>
					<icon1>#default:empty</icon1>
					<function type="normal">
						<instruction>Go TABSELECT=2</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey_label="yes" textcol="none">
					<label>第 4 个标签</label>
					<hotkeys>
						<chord>
							<key>tab</key>
							<key>4</key>
						</chord>
					</hotkeys>
					<icon1>#default:empty</icon1>
					<function type="normal">
						<instruction>Go TABSELECT=3</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey_label="yes" textcol="none">
					<label>第 5 个标签</label>
					<hotkeys>
						<chord>
							<key>tab</key>
							<key>5</key>
						</chord>
					</hotkeys>
					<icon1>#empty</icon1>
					<function type="normal">
						<instruction>Go TABSELECT=4</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey_label="yes" textcol="none">
					<label>第 6 个标签</label>
					<hotkeys>
						<chord>
							<key>tab</key>
							<key>6</key>
						</chord>
					</hotkeys>
					<icon1>#empty</icon1>
					<function type="normal">
						<instruction>Go TABSELECT=5</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey_label="yes" textcol="none">
					<label>第 7 个标签</label>
					<hotkeys>
						<chord>
							<key>tab</key>
							<key>7</key>
						</chord>
					</hotkeys>
					<icon1>#empty</icon1>
					<function type="normal">
						<instruction>Go TABSELECT=6</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey_label="yes" textcol="none">
					<label>第 8 个标签</label>
					<hotkeys>
						<chord>
							<key>tab</key>
							<key>8</key>
						</chord>
					</hotkeys>
					<icon1>#empty</icon1>
					<function type="normal">
						<instruction>Go TABSELECT=7</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey_label="yes" textcol="none">
					<label>第 9 个标签</label>
					<hotkeys>
						<chord>
							<key>tab</key>
							<key>9</key>
						</chord>
					</hotkeys>
					<icon1>#empty</icon1>
					<function type="normal">
						<instruction>Go TABSELECT=8</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey_label="yes" separate="yes" textcol="none">
					<label>第10个标签</label>
					<hotkeys>
						<chord>
							<key>tab</key>
							<key>0</key>
						</chord>
					</hotkeys>
					<icon1>#default:empty</icon1>
					<function type="normal">
						<instruction>Go TABSELECT=9</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey_label="yes" textcol="none">
					<label>最右的标签(目标)</label>
					<hotkeys>
						<chord>
							<key>tab</key>
							<key>num0</key>
						</chord>
					</hotkeys>
					<icon1>#goupnewtab</icon1>
					<function type="normal">
						<instruction>Go TABSELECT=last OPENINDEST</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey_label="yes" textcol="none">
					<label>第 1 个标签(目标)</label>
					<hotkeys>
						<chord>
							<key>tab</key>
							<key>num1</key>
						</chord>
					</hotkeys>
					<icon1>#default:empty</icon1>
					<function type="normal">
						<instruction>Go TABSELECT=first OPENINDEST</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey_label="yes" textcol="none">
					<label>第 2 个标签(目标)</label>
					<hotkeys>
						<chord>
							<key>tab</key>
							<key>num2</key>
						</chord>
					</hotkeys>
					<icon1>#default:empty</icon1>
					<function type="normal">
						<instruction>Go TABSELECT=1 OPENINDEST</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey_label="yes" textcol="none">
					<label>第 3 个标签(目标)</label>
					<hotkeys>
						<chord>
							<key>tab</key>
							<key>num3</key>
						</chord>
					</hotkeys>
					<icon1>#default:empty</icon1>
					<function type="normal">
						<instruction>Go TABSELECT=2 OPENINDEST</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey_label="yes" textcol="none">
					<label>第 4 个标签(目标)</label>
					<hotkeys>
						<chord>
							<key>tab</key>
							<key>num4</key>
						</chord>
					</hotkeys>
					<icon1>#default:empty</icon1>
					<function type="normal">
						<instruction>Go TABSELECT=3 OPENINDEST</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey_label="yes" textcol="none">
					<label>第 5 个标签(目标)</label>
					<hotkeys>
						<chord>
							<key>tab</key>
							<key>num5</key>
						</chord>
					</hotkeys>
					<icon1>#empty</icon1>
					<function type="normal">
						<instruction>Go TABSELECT=4 OPENINDEST</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey_label="yes" textcol="none">
					<label>第 6 个标签(目标)</label>
					<hotkeys>
						<chord>
							<key>tab</key>
							<key>num6</key>
						</chord>
					</hotkeys>
					<icon1>#empty</icon1>
					<function type="normal">
						<instruction>Go TABSELECT=5 OPENINDEST</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey_label="yes" textcol="none">
					<label>第 7 个标签(目标)</label>
					<hotkeys>
						<chord>
							<key>tab</key>
							<key>num7</key>
						</chord>
					</hotkeys>
					<icon1>#empty</icon1>
					<function type="normal">
						<instruction>Go TABSELECT=6 OPENINDEST</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey_label="yes" textcol="none">
					<label>第 8 个标签(目标)</label>
					<hotkeys>
						<chord>
							<key>tab</key>
							<key>num8</key>
						</chord>
					</hotkeys>
					<icon1>#empty</icon1>
					<function type="normal">
						<instruction>Go TABSELECT=7 OPENINDEST</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey_label="yes" textcol="none">
					<label>第 9 个标签(目标)</label>
					<hotkeys>
						<chord>
							<key>tab</key>
							<key>num9</key>
						</chord>
					</hotkeys>
					<icon1>#empty</icon1>
					<function type="normal">
						<instruction>Go TABSELECT=8 OPENINDEST</instruction>
					</function>
				</button>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" textcol="none">
				<label>上一个标签</label>
				<tip>在当前栏中选择上一个标签</tip>
				<hotkeys>
					<key>ctrl+shift+tab</key>
					<key disable="yes">ctrl+left</key>
				</hotkeys>
				<icon1>#copysourcedest_left</icon1>
				<function type="normal">
					<instruction>go tabselect -1</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" textcol="none">
				<label>下一个标签</label>
				<tip>在当前栏中选择下一个标签</tip>
				<hotkeys>
					<key>ctrl+tab</key>
					<key disable="yes">ctrl+right</key>
				</hotkeys>
				<icon1>#copysourcedest_right</icon1>
				<function type="normal">
					<instruction>go tabselect +1</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey="219,2" hotkey_label="yes" textcol="none">
				<label>标签向左移</label>
				<icon1>#goback</icon1>
				<function type="normal">
					<instruction>Go TABPOS=-1</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey="221,2" hotkey_label="yes" textcol="none">
				<label>标签向右移</label>
				<icon1>#goforward</icon1>
				<function type="normal">
					<instruction>Go TABPOS=+1</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" separate="yes" textcol="none">
				<label>最近两个标签之间切换</label>
				<hotkeys>
					<key>alt+Z</key>
					<key>192,4</key>
				</hotkeys>
				<icon1>#syncpane</icon1>
				<function type="normal">
					<instruction>Go TABSELECT=prev</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none" type="menu">
				<label>标签颜色</label>
				<icon1>#setcolor</icon1>
				<button backcol="#ff0000" display="label" label_pos="right" textcol="#000000">
					<label>红色</label>
					<icon1>#setcolor</icon1>
					<function type="normal">
						<instruction>Go TABCOLOR #ff0000</instruction>
					</function>
				</button>
				<button backcol="#00ff00" display="label" label_pos="right" textcol="#000000">
					<label>绿色</label>
					<icon1>#setcolor</icon1>
					<function type="normal">
						<instruction>Go TABCOLOR #00ff00</instruction>
					</function>
				</button>
				<button backcol="#0000ff" display="label" label_pos="right" textcol="none">
					<label>蓝色</label>
					<icon1>#setcolor</icon1>
					<function type="normal">
						<instruction>Go TABCOLOR #0000ff</instruction>
					</function>
				</button>
				<button backcol="#ffff00" display="label" label_pos="right" textcol="#000000">
					<label>黄色</label>
					<icon1>#setcolor</icon1>
					<function type="normal">
						<instruction>Go TABCOLOR #ffff00</instruction>
					</function>
				</button>
				<button backcol="#ff00ff" display="label" label_pos="right" textcol="#000000">
					<label>紫色</label>
					<icon1>#setcolor</icon1>
					<function type="normal">
						<instruction>Go TABCOLOR #ff00ff</instruction>
					</function>
				</button>
				<button backcol="#00ffff" display="label" label_pos="right" textcol="#000000">
					<label>天蓝</label>
					<icon1>#setcolor</icon1>
					<function type="normal">
						<instruction>Go TABCOLOR #00ffff</instruction>
					</function>
				</button>
				<button backcol="#98c400" display="label" label_pos="right" textcol="#000000">
					<label>青黄</label>
					<icon1>#setcolor</icon1>
					<function type="normal">
						<instruction>Go TABCOLOR #7ba000</instruction>
					</function>
				</button>
				<button backcol="#ff8000" display="label" label_pos="right" textcol="#000000">
					<label>橙色</label>
					<icon1>#setcolor</icon1>
					<function type="normal">
						<instruction>Go TABCOLOR #ff8000</instruction>
					</function>
				</button>
				<button backcol="#8d008d" display="label" label_pos="right" textcol="#ffffff">
					<label>暗紫</label>
					<icon1>#setcolor</icon1>
					<function type="normal">
						<instruction>Go TABCOLOR #8d008d</instruction>
					</function>
				</button>
				<button backcol="#930000" display="label" label_pos="right" textcol="#ffffff">
					<label>暗红</label>
					<icon1>#setcolor</icon1>
					<function type="normal">
						<instruction>Go TABCOLOR #760000</instruction>
					</function>
				</button>
				<button backcol="#005124" display="label" label_pos="right" textcol="#ffffff">
					<label>暗绿</label>
					<icon1>#setcolor</icon1>
					<function type="normal">
						<instruction>Go TABCOLOR #005124</instruction>
					</function>
				</button>
				<button backcol="#001591" display="label" label_pos="right" textcol="#ffffff">
					<label>暗蓝</label>
					<icon1>#setcolor</icon1>
					<function type="normal">
						<instruction>Go TABCOLOR #001591</instruction>
					</function>
				</button>
				<button backcol="#ffffff" display="label" label_pos="right" textcol="#000000">
					<label>白色</label>
					<icon1>#setcolor</icon1>
					<function type="normal">
						<instruction>Go TABCOLOR #FFFFFF</instruction>
					</function>
				</button>
				<button backcol="#000000" display="label" label_pos="right" textcol="#ffffff">
					<label>黑色</label>
					<icon1>#setcolor</icon1>
					<function type="normal">
						<instruction>Go TABCOLOR #000000</instruction>
					</function>
				</button>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none">
				<label>清除标签颜色</label>
				<icon1>#setcolor</icon1>
				<function type="normal">
					<instruction>Go TABCOLOR=reset</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>锁定标签(&amp;L)</label>
				<hotkeys>
					<chord>
						<key>tab</key>
						<key>capslock</key>
					</chord>
				</hotkeys>
				<icon1>#formatlock</icon1>
				<function type="normal">
					<instruction>//锁定</instruction>
					<instruction>//Go TABLOCK=lock,toggle</instruction>
					<instruction>//锁定(重用未锁定的标签页)</instruction>
					<instruction>//Go TABLOCK=lockreuse,toggle</instruction>
					<instruction>//锁定(允许改变路径)  [选项/文件夹标签页/锁定] 可取消勾选【激活另一个标签页时重置（在允许文件夹更改模式下）】</instruction>
					<instruction>Go TABLOCK=lockchanges,toggle</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>链接标签</label>
				<hotkeys>
					<chord>
						<key>tab</key>
						<key>L</key>
					</chord>
				</hotkeys>
				<icon1>#Windows_icos_plus:37.Link Paths</icon1>
				<function type="normal">
					<instruction>Go TABLINK=toggle</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" textcol="none">
				<label>切换来源/目标栏</label>
				<icon1>#swapsourcedest</icon1>
				<function type="normal">
					<instruction>@if:set dual=off</instruction>
					<instruction>Set DUAL=toggle,remember</instruction>
					<instruction>@if:else</instruction>
					<instruction>Set FOCUS=dest</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" textcol="none">
				<label>交换双栏中当前标签</label>
				<hotkeys>
					<chord>
						<key>tab</key>
						<key>X</key>
					</chord>
				</hotkeys>
				<icon1>#Program_Icos:54.Swap tabs</icon1>
				<function type="normal">
					<instruction>@disableif:set dual=off</instruction>
					<instruction>Go TABSWAP</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey="ctrl+alt+X" hotkey_label="yes" textcol="none">
				<label>交换双栏</label>
				<tip>交换双栏</tip>
				<icon1>#swapsourcedest_horiz</icon1>
				<function type="normal">
					<instruction>@icon:swapsourcedest_vert,Set dual=horiz</instruction>
					<instruction>@disableif:set dual=off</instruction>
					<instruction>Go SWAP</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" separate="yes" textcol="none">
				<label>标签排序</label>
				<tip>Sort Tabs</tip>
				<hotkeys>
					<chord>
						<key>tab</key>
						<key>S</key>
					</chord>
				</hotkeys>
				<icon1>#sortby</icon1>
				<function type="script">
					<instruction>@script JScript</instruction>
					<instruction>function OnClick(clickData)</instruction>
					<instruction>{</instruction>
					<instruction>	var cmd = clickData.func.command;</instruction>
					<instruction>	cmd.deselect = false; // Prevent automatic deselection</instruction>
					<instruction>	cmd.ClearFiles();</instruction>
					<instruction />
					<instruction>	sortTabs(cmd, clickData.func.sourcetab.lister.tabsleft);</instruction>
					<instruction>	sortTabs(cmd, clickData.func.sourcetab.lister.tabsright);</instruction>
					<instruction>}</instruction>
					<instruction />
					<instruction>function sortTabs(cmd, tabList)</instruction>
					<instruction>{</instruction>
					<instruction>	var setLabels = DOpus.Create.StringSet();</instruction>
					<instruction>	var mapLabelToTabVec = DOpus.Create.Map();</instruction>
					<instruction />
					<instruction>	for (var eTabs = new Enumerator(tabList); !eTabs.atEnd(); eTabs.moveNext())</instruction>
					<instruction>	{</instruction>
					<instruction>		var tab = eTabs.item();</instruction>
					<instruction>		var label = tab.displayed_label.toLowerCase();</instruction>
					<instruction />
					<instruction>		setLabels.insert(label);</instruction>
					<instruction />
					<instruction>		if (!mapLabelToTabVec.exists(label))</instruction>
					<instruction>		{</instruction>
					<instruction>			mapLabelToTabVec(label) = DOpus.Create.Vector();</instruction>
					<instruction>		}</instruction>
					<instruction>		mapLabelToTabVec(label).push_back(tab);</instruction>
					<instruction>	}</instruction>
					<instruction />
					<instruction>	var vecLabels = DOpus.Create.Vector();</instruction>
					<instruction />
					<instruction>	for (var eLabels = new Enumerator(setLabels); !eLabels.atEnd(); eLabels.moveNext())</instruction>
					<instruction>	{</instruction>
					<instruction>		vecLabels.push_back(eLabels.item());</instruction>
					<instruction>	}</instruction>
					<instruction>	vecLabels.sort();</instruction>
					<instruction />
					<instruction>	cmd.Clear();</instruction>
					<instruction>	var tabPos = 0;</instruction>
					<instruction />
					<instruction>	for (var eLabels = new Enumerator(vecLabels); !eLabels.atEnd(); eLabels.moveNext())</instruction>
					<instruction>	{</instruction>
					<instruction>		var vecTabs = mapLabelToTabVec(eLabels.item());</instruction>
					<instruction>		for (var eTabs = new Enumerator(vecTabs); !eTabs.atEnd(); eTabs.moveNext())</instruction>
					<instruction>		{</instruction>
					<instruction>			var tab = eTabs.item();</instruction>
					<instruction>			cmd.AddLine(&quot;Go TABPOS=&quot; + tabPos + &quot;,&quot; + tab);</instruction>
					<instruction>			++tabPos;</instruction>
					<instruction>		}</instruction>
					<instruction>	}</instruction>
					<instruction />
					<instruction>	if (tabPos &gt; 1)</instruction>
					<instruction>	{</instruction>
					<instruction>		cmd.Run();</instruction>
					<instruction>	}</instruction>
					<instruction>}</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>转到根路径(&amp;R)</label>
				<icon1>#goup</icon1>
				<function type="normal">
					<instruction>Go ROOT USEQUALKEYS</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>转到原始路径</label>
				<tip>转到当前标签打开的原始路径</tip>
				<hotkeys>
					<chord>
						<key>tab</key>
						<key>home</key>
					</chord>
				</hotkeys>
				<icon1>#goback</icon1>
				<function type="normal">
					<instruction>//Go INITIALDIR</instruction>
					<instruction>//Go TABSELECT home </instruction>
					<instruction>//Go TABLOCKDIR</instruction>
					<instruction>Go HOMEDIR USEQUALKEYS</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>转到标签的锁定路径</label>
				<tip>标签锁定时的路径</tip>
				<icon1>#formatlock</icon1>
				<function type="normal">
					<instruction>Go TABLOCKDIR</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>复制所有标签的路径</label>
				<icon1>#clipcopy</icon1>
				<function type="script">
					<instruction>@script JScript</instruction>
					<instruction>function OnClick(clickData)</instruction>
					<instruction>{</instruction>
					<instruction>	var lister = clickData.func.sourcetab.lister;</instruction>
					<instruction>	var fsu = DOpus.FSUtil;</instruction>
					<instruction>	var clip = &quot;&quot;;</instruction>
					<instruction>	for (var eTabs = new Enumerator(lister.tabs); !eTabs.atEnd(); eTabs.moveNext())</instruction>
					<instruction>	{</instruction>
					<instruction>		var path = fsu.Resolve(eTabs.item().path);</instruction>
					<instruction>		clip += path + &quot;\n&quot;;</instruction>
					<instruction>	}</instruction>
					<instruction>	DOpus.SetClip(clip);</instruction>
					<instruction>}</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none">
				<label>为所有标签创建快捷方式</label>
				<tip>为来源栏所有标签的路径创建快捷方式到目标栏</tip>
				<icon1>#clippasteshortcut</icon1>
				<function type="script">
					<instruction>@script JScript</instruction>
					<instruction>function OnClick(clickData)</instruction>
					<instruction>{</instruction>
					<instruction>	var cmd = clickData.func.command;</instruction>
					<instruction>	cmd.deselect = false;</instruction>
					<instruction>	var fsu = DOpus.FSUtil;</instruction>
					<instruction>	var lister = clickData.func.sourcetab.lister;</instruction>
					<instruction>	var tabs = lister.tabsleft;</instruction>
					<instruction>	if (clickData.func.sourcetab.right) </instruction>
					<instruction>		tabs = lister.tabsright;</instruction>
					<instruction>	</instruction>
					<instruction>	//dopusrt /info /desktop\pathlist.txt,paths</instruction>
					<instruction>	//Copy C:\123 MAKELINK TO /desktop</instruction>
					<instruction>	for (var eTabs = new Enumerator(tabs); !eTabs.atEnd(); eTabs.moveNext())</instruction>
					<instruction>	{</instruction>
					<instruction>		var path = fsu.Resolve(eTabs.item().path);</instruction>
					<instruction>		cmd.AddLine(&apos;Copy &quot;&apos;+path+&apos;&quot; MAKELINK WHENEXISTS=skip&apos;);</instruction>
					<instruction>	}</instruction>
					<instruction>	cmd.Run;</instruction>
					<instruction>}</instruction>
				</function>
			</button>
		</button>
		<button backcol="none" display="both" label_pos="right" textcol="none" type="menu">
			<label>选择(&amp;X)</label>
			<icon1>#advancedselect</icon1>
			<button backcol="none" display="both" textcol="none">
				<label>滚屏到选定项\t空格,Caps / Ctrl+\</label>
				<tip>Scroll to Selection</tip>
				<hotkeys>
					<key>220,2</key>
					<chord>
						<key>space</key>
						<key>capslock</key>
					</chord>
				</hotkeys>
				<icon1>#fullrowselection</icon1>
				<function type="normal">
					<instruction>SelectEx MAKEVISIBLE=checked</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>全选(&amp;A)</label>
				<tip>选择活动窗口中的所有文件与文件夹</tip>
				<hotkeys>
					<key disable="yes">ctrl+A</key>
				</hotkeys>
				<icon1>#selectall</icon1>
				<function type="normal">
					<instruction>Select ALL</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>反向选择(&amp;I)</label>
				<tip>在活动窗口中反选</tip>
				<hotkeys>
					<key disable="yes">ctrl+I</key>
				</hotkeys>
				<icon1>#selectinvert</icon1>
				<function type="normal">
					<instruction>Select INVERT</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>高级选择</label>
				<tip>在活动窗口中用通配符模式选择文件和文件夹</tip>
				<hotkeys>
					<key disable="yes">ctrl+S</key>
				</hotkeys>
				<icon1>#selectwild</icon1>
				<function type="normal">
					<instruction>//Select</instruction>
					<instruction>Select ADVANCED</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>重新选择文件</label>
				<tip>选择所有在上一命令中使用过的文件</tip>
				<icon1>#reselect</icon1>
				<function type="normal">
					<instruction>Select RESELECT</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey="ctrl+capslock" hotkey_label="yes" textcol="none">
				<label>取消选择</label>
				<tip>保存当前选择到内存默认区后，取消选择\n</tip>
				<icon1>#selectnone</icon1>
				<function type="normal">
					<instruction>@disablenosel </instruction>
					<instruction>SelectEx TOVAR</instruction>
					<instruction>Select NONE</instruction>
					<instruction>//SelectEx EXACT MAKEVISIBLE FROMVAR</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey="alt+A" hotkey_label="yes" separate="yes" textcol="none">
				<label>取消选择(双栏)</label>
				<tip>两栏同时取消选择</tip>
				<icon1>#selectnone</icon1>
				<function type="script">
					<instruction>@script JScript</instruction>
					<instruction>function OnClick(clickData)</instruction>
					<instruction>{</instruction>
					<instruction>	var cmd=clickData.func.command;</instruction>
					<instruction>	cmd.ClearFiles(); </instruction>
					<instruction>	cmd.RunCommand(&quot;Select NONE&quot;); </instruction>
					<instruction>	if (clickData.func.desttab) { </instruction>
					<instruction>	cmd.SetSourceTab(clickData.func.desttab); </instruction>
					<instruction>	cmd.RunCommand(&quot;Select NONE&quot;);</instruction>
					<instruction>	}</instruction>
					<instruction>}</instruction>
				</function>
			</button>
			<button backcol="none" display="both" textcol="none" type="menu">
				<label>保存选择到...</label>
				<tip>Save Selection to..</tip>
				<icon1>#newmenu</icon1>
				<button backcol="none" display="both" textcol="none">
					<label>剪贴板\t(UNC     +Ctrl)</label>
					<tip>Clipboard</tip>
					<icon1>#selectinvert</icon1>
					<function type="normal">
						<instruction>@disablenosel </instruction>
						<instruction>@nodeselect</instruction>
						<instruction />
						<instruction>@keydown:none</instruction>
						<instruction>Clipboard COPYNAMES</instruction>
						<instruction />
						<instruction>@keydown:ctrl</instruction>
						<instruction>ClipboardEx COPYNAMES=allunc </instruction>
					</function>
				</button>
				<button backcol="none" display="both" separate="yes" textcol="none">
					<label>文件...</label>
					<tip>File..</tip>
					<icon1>#selectinvert</icon1>
					<function type="normal">
						<instruction>@disablenosel </instruction>
						<instruction>SelectEx TOFILE={dlgsave|选择一个文件来存储当前选择|Selection.txt} NODESELECT</instruction>
					</function>
				</button>
				<button backcol="none" display="both" textcol="none">
					<label>内存 | 自定名..</label>
					<tip>As..</tip>
					<icon1>#selectinvert</icon1>
					<function type="normal">
						<instruction>@disablenosel </instruction>
						<instruction>SelectEx TOVAR={dlgstring|保存选择到内存-ID:} NODESELECT</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey="ctrl+shift+S" hotkey_label="yes" textcol="none">
					<label>内存 | 默认</label>
					<tip>Default</tip>
					<icon1>#selectinvert</icon1>
					<function type="normal">
						<instruction>@disablenosel </instruction>
						<instruction>SelectEx TOVAR NODESELECT</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey="ctrl+num1" hotkey_label="yes" textcol="none">
					<label>内存 | 槽位 #01</label>
					<tip>RAM Slot  #01</tip>
					<icon1>#selectinvert</icon1>
					<function type="normal">
						<instruction>@disablenosel </instruction>
						<instruction>SelectEx TOVAR=&quot;1_Slot&quot; NODESELECT</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey="ctrl+num2" hotkey_label="yes" textcol="none">
					<label>内存 | 槽位 #02</label>
					<icon1>#selectinvert</icon1>
					<function type="normal">
						<instruction>@disablenosel </instruction>
						<instruction>SelectEx TOVAR=&quot;2_Slot&quot; NODESELECT</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey="ctrl+num3" hotkey_label="yes" textcol="none">
					<label>内存 | 槽位 #03</label>
					<icon1>#selectinvert</icon1>
					<function type="normal">
						<instruction>@disablenosel </instruction>
						<instruction>SelectEx TOVAR=&quot;3_Slot&quot; NODESELECT</instruction>
					</function>
				</button>
			</button>
			<button backcol="none" display="both" textcol="none" type="menu">
				<label>加载选择从...</label>
				<tip>Load Selection from..</tip>
				<icon1>#newmenu</icon1>
				<button backcol="none" display="both" hotkey="192,3" hotkey_label="yes" textcol="none">
					<label>剪贴板\t(GO    +Ctrl)</label>
					<tip>Ctrl+点击  打开剪贴板中第一项所在文件夹，并选择它</tip>
					<icon1>#selectinvert</icon1>
					<function type="normal">
						<instruction>@ifsel:numfiles&gt;0</instruction>
						<instruction>SelectEx TOVAR=&quot;Temp&quot;</instruction>
						<instruction>Select NONE</instruction>
						<instruction>@ifsel:common</instruction>
						<instruction>@keydown:none</instruction>
						<instruction>SelectEx EXACT FROMCLIP MAKEVISIBLE</instruction>
						<instruction>@keydown:ctrl</instruction>
						<instruction>SelectEx EXACT FROMCLIP MAKEVISIBLE GO</instruction>
					</function>
				</button>
				<button backcol="none" display="both" separate="yes" textcol="none">
					<label>文件...\t(GO    +Ctrl)</label>
					<tip>File..</tip>
					<icon1>#selectinvert</icon1>
					<function type="normal">
						<instruction>@keydown:none</instruction>
						<instruction>SelectEx FROMFILE={dlgopen|选择一个包含路径或项目名的文件|Selection.txt} EXACT MAKEVISIBLE</instruction>
						<instruction>@keydown:ctrl</instruction>
						<instruction>SelectEx FROMFILE={dlgopen|选择一个包含路径或项目名的文件|Selection.txt} EXACT MAKEVISIBLE GO</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey="ctrl+alt+S" hotkey_label="yes" textcol="none">
					<label>内存 | 下拉...\t(GO  +Ctrl) </label>
					<tip>从下拉菜单导入内存区中的选择项\n菜单中可用首字符选则，如：d 1 2 3\nLoad a memorized selection from a dropdown menu</tip>
					<icon1>#selectinvert</icon1>
					<function type="normal">
						<instruction>//Select NONE</instruction>
						<instruction>@keydown:none</instruction>
						<instruction>SelectEx FROMVARDROP NODESELECT MAKEVISIBLE DESELECTNOMATCH</instruction>
						<instruction>@keydown:ctrl</instruction>
						<instruction>SelectEx FROMVARDROP NODESELECT MAKEVISIBLE GO DESELECTNOMATCH</instruction>
					</function>
				</button>
				<button backcol="none" display="both" textcol="none">
					<label>内存 | 默认\t(GO    +Ctrl)</label>
					<tip>Default</tip>
					<icon1>#selectinvert</icon1>
					<function type="normal">
						<instruction>@keydown:none</instruction>
						<instruction>SelectEx EXACT MAKEVISIBLE FROMVAR</instruction>
						<instruction>@keydown:ctrl</instruction>
						<instruction>SelectEx EXACT MAKEVISIBLE FROMVAR GO</instruction>
					</function>
				</button>
				<button backcol="none" display="both" textcol="none">
					<label>内存 | 槽位 #01\t(GO    +Ctrl)</label>
					<icon1>#selectinvert</icon1>
					<function type="normal">
						<instruction>@keydown:none</instruction>
						<instruction>SelectEx EXACT MAKEVISIBLE FROMVAR=&quot;1_Slot&quot; MAKEVISIBLE</instruction>
						<instruction>@keydown:ctrl</instruction>
						<instruction>SelectEx EXACT MAKEVISIBLE FROMVAR=&quot;1_Slot&quot; MAKEVISIBLE GO</instruction>
					</function>
				</button>
				<button backcol="none" display="both" textcol="none">
					<label>内存 | 槽位 #02\t(GO    +Ctrl)</label>
					<icon1>#selectinvert</icon1>
					<function type="normal">
						<instruction>@keydown:none</instruction>
						<instruction>SelectEx EXACT MAKEVISIBLE FROMVAR=&quot;2_Slot&quot; MAKEVISIBLE</instruction>
						<instruction>@keydown:ctrl</instruction>
						<instruction>SelectEx EXACT MAKEVISIBLE FROMVAR=&quot;2_Slot&quot; MAKEVISIBLE GO</instruction>
					</function>
				</button>
				<button backcol="none" display="both" textcol="none">
					<label>内存 | 槽位 #03\t(GO    +Ctrl)</label>
					<icon1>#selectinvert</icon1>
					<function type="normal">
						<instruction>@keydown:none</instruction>
						<instruction>SelectEx EXACT MAKEVISIBLE FROMVAR=&quot;3_Slot&quot; MAKEVISIBLE</instruction>
						<instruction>@keydown:ctrl</instruction>
						<instruction>SelectEx EXACT MAKEVISIBLE FROMVAR=&quot;3_Slot&quot; MAKEVISIBLE GO</instruction>
					</function>
				</button>
			</button>
			<button backcol="none" display="both" separate="yes" textcol="none">
				<label>清除已保存的选择</label>
				<tip>清除内存区中已保存的选择</tip>
				<icon1>#default:delete2</icon1>
				<function type="normal">
					<instruction>//SelectEx CLEARVAR default;1_Slot;2_Slot;3_Slot</instruction>
					<instruction />
					<instruction>//清除全部（删除全局变量中 Script.SelectEx.StoredSelection.* 所有变量）</instruction>
					<instruction>SelectEx CLEARVAR -</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" textcol="none">
				<label>选择最后一项</label>
				<tip>选择最后一项，并滚屏使之可见</tip>
				<hotkeys>
					<chord>
						<key>space</key>
						<key>end</key>
					</chord>
				</hotkeys>
				<icon1>#paper</icon1>
				<function type="normal">
					<instruction>Select LAST EXACT MAKEVISIBLE=immediate</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" textcol="none">
				<label>选择第一个文件</label>
				<tip>选择第一个文件，并滚屏使之可见</tip>
				<hotkeys>
					<chord>
						<key>space</key>
						<key>space</key>
					</chord>
				</hotkeys>
				<icon1>#newfile</icon1>
				<function type="script">
					<instruction>@script JScript</instruction>
					<instruction>function OnClick(clickData)</instruction>
					<instruction>{</instruction>
					<instruction>	var cmd = clickData.func.command;</instruction>
					<instruction>	var items = clickData.func.sourcetab.files;</instruction>
					<instruction>	if(items.count &gt; 0)</instruction>
					<instruction>	{</instruction>
					<instruction>		//var bool = items(0).selected;</instruction>
					<instruction>		cmd.RunCommand(&quot;Select FIRST EXACT MAKEVISIBLE=immediate TYPE=files&quot;);</instruction>
					<instruction>		//if(!bool)</instruction>
					<instruction>		//cmd.RunCommand(&quot;Select \&quot;&quot;+items(0).name+&quot;\&quot; EXACT deselect&quot;);</instruction>
					<instruction>	}</instruction>
					<instruction>	else</instruction>
					<instruction>		cmd.RunCommand(&quot;Select FIRST EXACT MAKEVISIBLE=immediate&quot;);</instruction>
					<instruction>}</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" textcol="none">
				<label>选择第一个文件夹</label>
				<tip>选择第一个文件夹，并滚屏使之可见</tip>
				<hotkeys>
					<chord>
						<key>space</key>
						<key>tab</key>
					</chord>
				</hotkeys>
				<icon1>#folderoptions</icon1>
				<function type="script">
					<instruction>@script JScript</instruction>
					<instruction>function OnClick(clickData)</instruction>
					<instruction>{</instruction>
					<instruction>	var cmd = clickData.func.command;</instruction>
					<instruction>	var items = clickData.func.sourcetab.dirs;</instruction>
					<instruction>	//DOpus.Output(items.count);</instruction>
					<instruction>	if(items.count &gt; 0)</instruction>
					<instruction>	{</instruction>
					<instruction>	var eSel = new Enumerator(items); </instruction>
					<instruction>	</instruction>
					<instruction>	var firstItem = eSel.item();</instruction>
					<instruction>	//DOpus.Output(firstItem.name);</instruction>
					<instruction>	//var bool = firstItem.selected;</instruction>
					<instruction>	cmd.RunCommand(&quot;Select \&quot;&quot;+firstItem.name+&quot;\&quot; EXACT MAKEVISIBLE=immediate&quot;);</instruction>
					<instruction>	}</instruction>
					<instruction>	else</instruction>
					<instruction>	cmd.RunCommand(&quot;Select FIRST EXACT MAKEVISIBLE=immediate&quot;);</instruction>
					<instruction>}</instruction>
				</function>
			</button>
			<button backcol="#d0c69e" display="both" hotkey_label="yes" textcol="none">
				<label>间隔一行选择 (&amp;2)</label>
				<tip>Select 2nd..</tip>
				<hotkeys>
					<chord>
						<key>space</key>
						<key>num2</key>
					</chord>
				</hotkeys>
				<icon1>#selectinvert</icon1>
				<function type="normal">
					<instruction>SelectEx EXACT MAKEVISIBLE NTH=2</instruction>
				</function>
			</button>
			<button backcol="none" display="both" textcol="none">
				<label>间隔选择第N个</label>
				<tip>Select N-th..</tip>
				<icon1>#selectinvert</icon1>
				<function type="normal">
					<instruction>SelectEx EXACT MAKEVISIBLE NTH={dlgstring|输入间隔N的数值:|2} </instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none" type="menu">
				<label>选择其他</label>
				<icon1>#advancedselect</icon1>
				<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none">
					<label>选择重复项(&amp;U)...</label>
					<tip>选择由重复文件查找器定位的文件</tip>
					<icon1>#dupepane</icon1>
					<function type="normal">
						<instruction>Select DUPES</instruction>
					</function>
				</button>
				<button backcol="none" display="both" textcol="none">
					<label>仅选择文件</label>
					<icon1>#selectall</icon1>
					<function type="normal">
						<instruction>Select none</instruction>
						<instruction>Select ALLFILES</instruction>
					</function>
				</button>
				<button backcol="none" display="both" separate="yes" textcol="none">
					<label>仅选择文件夹</label>
					<icon1>#folderoptions</icon1>
					<function type="normal">
						<instruction>Select NONE</instruction>
						<instruction>Select ALLDIRS</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey="insert" textcol="none">
					<label>连续选择下一个\tInsert</label>
					<tip>在复选框模式下，则是切换勾选</tip>
					<icon1>#newcommand</icon1>
					<function type="normal">
						<instruction>@if:Set CHECKBOXMODE=on</instruction>
						<instruction>SendKeys &quot;^% &quot;</instruction>
						<instruction>@if:else</instruction>
						<instruction>Select NEXT=row,nodeselect</instruction>
					</function>
				</button>
				<button backcol="none" display="both" textcol="none">
					<label>连续选择上一个\tShift+Insert</label>
					<hotkeys>
						<key disable="yes">shift+insert</key>
					</hotkeys>
					<icon1>#newcommand</icon1>
					<function type="normal">
						<instruction>Select PREV=row,nodeselect</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>所有窗口选择上一个</label>
					<tip>开多个窗口预览图片时，所有窗口同步选择上一个，便于预览对比</tip>
					<icon1>#copysourcedest_left</icon1>
					<function type="script">
						<instruction>@script JScript</instruction>
						<instruction>function OnClick(clickData)</instruction>
						<instruction>{</instruction>
						<instruction> 	var cmd = DOpus.Create.Command;</instruction>
						<instruction>	for(var eListers = new Enumerator(DOpus.listers); !eListers.atEnd(); eListers.moveNext())</instruction>
						<instruction>	{</instruction>
						<instruction>		eTab = eListers.item().activetab;</instruction>
						<instruction>		cmd.SetSourceTab(eTab);</instruction>
						<instruction>		cmd.RunCommand(&quot;Select PREV&quot;);</instruction>
						<instruction>	}</instruction>
						<instruction>}</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none">
					<label>所有窗口选择下一个</label>
					<tip>开多个窗口预览图片时，所有窗口同步选择下一个，便于预览对比</tip>
					<icon1>#copysourcedest_right</icon1>
					<function type="script">
						<instruction>@script JScript</instruction>
						<instruction>function OnClick(clickData)</instruction>
						<instruction>{</instruction>
						<instruction> 	var cmd = DOpus.Create.Command;</instruction>
						<instruction>	for(var eListers = new Enumerator(DOpus.listers); !eListers.atEnd(); eListers.moveNext())</instruction>
						<instruction>	{</instruction>
						<instruction>		eTab = eListers.item().activetab;</instruction>
						<instruction>		cmd.SetSourceTab(eTab);</instruction>
						<instruction>		cmd.RunCommand(&quot;Select NEXT&quot;);</instruction>
						<instruction>	}</instruction>
						<instruction>}</instruction>
					</function>
				</button>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" textcol="none">
				<label>选择最新修改的文件(&amp;X)</label>
				<tip>（Shift = 最旧）</tip>
				<hotkeys>
					<chord>
						<key>space</key>
						<key>X</key>
					</chord>
				</hotkeys>
				<icon1>#updateexisting</icon1>
				<function type="normal">
					<instruction>//Select none</instruction>
					<instruction>@keydown:none</instruction>
					<instruction>Select DATE=newest SETFOCUS DESELECTNOMATCH TYPE=files</instruction>
					<instruction>@keydown:shift</instruction>
					<instruction>Select DATE=oldest SETFOCUS DESELECTNOMATCH TYPE=files</instruction>
					<instruction />
					<instruction>//Select DATE=newest MAKEVISIBLE=immediate</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" textcol="none">
				<label>选择最新创建的文件(&amp;C)</label>
				<tip>（Shift = 最旧）</tip>
				<hotkeys>
					<chord>
						<key>space</key>
						<key>C</key>
					</chord>
				</hotkeys>
				<icon1>#updateexisting</icon1>
				<function type="normal">
					<instruction>//Select none</instruction>
					<instruction>@keydown:none</instruction>
					<instruction>Select DATE=newest,created SETFOCUS DESELECTNOMATCH TYPE=files</instruction>
					<instruction>@keydown:shift</instruction>
					<instruction>Select DATE=oldest,created SETFOCUS DESELECTNOMATCH TYPE=files</instruction>
					<instruction />
					<instruction>//Select DATE=newest MAKEVISIBLE=immediate</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey="shift+alt+N" hotkey_label="yes" textcol="none">
				<label>选择最新的文件++</label>
				<tip>连续按键则从新向旧依次增加选择</tip>
				<icon1>#updateexisting</icon1>
				<function type="normal">
					<instruction>Select DATE=next,newest MAKEVISIBLE=immediate TYPE=files</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" textcol="none">
				<label>选择最大的文件(&amp;D)</label>
				<tip>（Shift = 最小）Select largest File (SC = smallest)</tip>
				<hotkeys>
					<chord>
						<key>space</key>
						<key>D</key>
					</chord>
				</hotkeys>
				<icon1>#filterfield</icon1>
				<function type="normal">
					<instruction>Select none</instruction>
					<instruction>@keydown:none</instruction>
					<instruction>Select SIZE=largest SETFOCUS TYPE=files</instruction>
					<instruction>@keydown:shift</instruction>
					<instruction>Select SIZE=smallest SETFOCUS TYPE=files</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" textcol="none">
				<label>选择 0 字节文件 (Shift = 隐藏)</label>
				<tip>Select 0 byte Files (SC = hide)</tip>
				<hotkeys>
					<chord>
						<key>space</key>
						<key>0</key>
					</chord>
				</hotkeys>
				<icon1>#advancedselect</icon1>
				<function type="normal">
					<instruction>Select TYPE=files SIZE=0</instruction>
					<instruction>@keydown:shift</instruction>
					<instruction>Select HIDESEL NOPATTERN</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" textcol="none">
				<label>选择空文件夹(&amp;K)</label>
				<tip>选择无任何子文件的空文件夹</tip>
				<hotkeys>
					<chord>
						<key>space</key>
						<key>K</key>
					</chord>
				</hotkeys>
				<icon1>#filterfield</icon1>
				<function type="script">
					<instruction>@script JScript</instruction>
					<instruction>function OnClick(clickData)</instruction>
					<instruction>{</instruction>
					<instruction>	var cmd = DOpus.Create.command;</instruction>
					<instruction>	var dirs = clickData.func.sourcetab.selected_dirs;</instruction>
					<instruction>	if(dirs.count == 0) //如果未选择文件夹</instruction>
					<instruction>		dirs = clickData.func.sourcetab.dirs;//以当前目录下所有文件夹作为基数</instruction>
					<instruction>	cmd.ClearFiles();//清除已选择的文件</instruction>
					<instruction>	</instruction>
					<instruction>	for (var eSel = new Enumerator(dirs); !eSel.atEnd(); eSel.moveNext())</instruction>
					<instruction>	{</instruction>
					<instruction>		var dir = eSel.item();</instruction>
					<instruction>		if (!dir.is_junction &amp;&amp; !dir.is_symlink) {</instruction>
					<instruction>			var dirEnum = DOpus.FSUtil.ReadDir(dir.RealPath);</instruction>
					<instruction>			//if (dirEnum.complete)</instruction>
					<instruction>			if (dirEnum.error==18){//无权限访问时error=5，无内容时error=18</instruction>
					<instruction>				//DOpus.Output(dirEnum.error);</instruction>
					<instruction>				//DOpus.Output(dir);</instruction>
					<instruction>				cmd.AddFile(dir);</instruction>
					<instruction>			}</instruction>
					<instruction>		}</instruction>
					<instruction>	}</instruction>
					<instruction>	cmd.RunCommand(&quot;Select FROMSCRIPT DESELECTNOMATCH&quot;);</instruction>
					<instruction>}</instruction>
				</function>
			</button>
			<button backcol="none" display="both" textcol="none">
				<label>选择指定扩展名</label>
				<icon1>#advancedselect</icon1>
				<function type="normal">
					<instruction>Select none</instruction>
					<instruction>Select *.{dlgstringS|请输入扩展名|docx}  DESELECTNOMATCH</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>正则 | 文件名称末尾是 (&amp;n) </label>
				<tip>名称末尾是(1) (2)等</tip>
				<hotkeys>
					<chord>
						<key>space</key>
						<key>N</key>
					</chord>
				</hotkeys>
				<icon1>#advancedselect</icon1>
				<function type="normal">
					<instruction>//@set regex={dlgstringS|请输入正则表达式|.*\d\)\..*}</instruction>
					<instruction>//Select {$regex} REGEXP DESELECTNOMATCH TYPE=files</instruction>
					<instruction />
					<instruction>Select .*\d\)\..* REGEXP DESELECTNOMATCH TYPE=files</instruction>
					<instruction>//文件夹</instruction>
					<instruction>Select .*\d\)$ REGEXP</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>选择展开的文件夹项目</label>
				<tip>选择任何当前展开的文件夹下的所有内容</tip>
				<icon1>#folderexpanded</icon1>
				<function type="normal">
					<instruction>@enableif:Set EXPANDABLEFOLDERS=On</instruction>
					<instruction>@nofilenamequoting</instruction>
					<instruction>Select DESELECTNOMATCH FILTERDEF location match &quot;{sourcepath|escregex|escbackslash}.+&quot; regex</instruction>
				</function>
			</button>
			<button backcol="none" display="both" separate="yes" textcol="none" type="menu">
				<label>条件选择</label>
				<icon1>#newmenu</icon1>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>选择空文件夹(&amp;E)</label>
					<tip>选择不包含子文件或子文件夹的文件夹</tip>
					<icon1>#filterfolder</icon1>
					<function type="normal">
						<instruction>Select DESELECTNOMATCH FILTERDEF type match folders and foldercontent nomatch ( name match * )</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>选择 0 字节文件夹(&amp;Z)</label>
					<tip>选择空文件夹或下面只有空文件或类似文件夹的文件夹</tip>
					<icon1>#filterfolder</icon1>
					<function type="normal">
						<instruction>Select DESELECTNOMATCH FILTERDEF type match folders and size match = 0 bytes</instruction>
					</function>
				</button>
				<button backcol="none" display="both" textcol="none">
					<label>选择500kb至5mb大小的文件</label>
					<icon1>#advancedselect</icon1>
					<function type="normal">
						<instruction>Select SIZE 500kb..5mb DESELECTNOMATCH</instruction>
					</function>
				</button>
				<button backcol="none" display="both" textcol="none">
					<label>选择修改日期在指定区间内的文件</label>
					<tip>按修改时间</tip>
					<icon1>#updateexisting</icon1>
					<function type="normal">
						<instruction>Select none</instruction>
						<instruction>@set dt={dlgstringS|请输入日期区间|2023-12-1..2023-12-31}</instruction>
						<instruction>Select DATE={$dt} TYPE=files MAKEVISIBLE=immediate</instruction>
					</function>
				</button>
				<button backcol="none" display="both" textcol="none">
					<label>选择创建日期在指定区间内的文件</label>
					<tip>按创建时间</tip>
					<icon1>#updateexisting</icon1>
					<function type="normal">
						<instruction>Select none</instruction>
						<instruction>@set dt={dlgstringS|请输入日期区间|2023-12-1..2023-12-31}</instruction>
						<instruction>Select DATE=created,{$dt} TYPE=files MAKEVISIBLE=immediate</instruction>
					</function>
				</button>
				<button backcol="none" display="both" textcol="none">
					<label>选择修改时间在三天内的文件</label>
					<icon1>#updateexisting</icon1>
					<function type="normal">
						<instruction>Select none</instruction>
						<instruction>Select DATE &quot;&lt;3 days&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="both" textcol="none">
					<label>选择包含指定文件名的文件夹</label>
					<tip>Select Folders containing File</tip>
					<icon1>#syncpane1</icon1>
					<function type="script">
						<instruction>@script jscript</instruction>
						<instruction>///////////////////////////////////////////////////////////////////////////////</instruction>
						<instruction>// Simple dialog-based search to select folders.</instruction>
						<instruction>// Folders will be selected if they contain matching files and at the same</instruction>
						<instruction>// time do not contain a subfolder (optional).</instruction>
						<instruction>///////////////////////////////////////////////////////////////////////////////</instruction>
						<instruction>var defaultSearch = new SearchParams(</instruction>
						<instruction>	/*search string*/	&apos;iso&apos;,</instruction>
						<instruction>	/*search extension*/	true,</instruction>
						<instruction>	/*search stem*/		false,</instruction>
						<instruction>	/*subfolder name*/	&apos;video_ts&apos;,</instruction>
						<instruction>	/*exclude subfolder*/	true</instruction>
						<instruction>);</instruction>
						<instruction />
						<instruction>///////////////////////////////////////////////////////////////////////////////</instruction>
						<instruction>function OnClick(data){</instruction>
						<instruction>	DOpus.ClearOutput();</instruction>
						<instruction>	data.func.command.ClearFiles();</instruction>
						<instruction />
						<instruction>	//get enumerator and count of selected folders or complete list of folders</instruction>
						<instruction>	var folders = GetFolders(data);</instruction>
						<instruction />
						<instruction>	//get a combination of default, last used and current dialog search params</instruction>
						<instruction>	var params = GetSearchParams(data); if (!params) return; //dialog cancelled</instruction>
						<instruction />
						<instruction>	//save current search params</instruction>
						<instruction>	SaveSearchParams(data, params);</instruction>
						<instruction />
						<instruction>	//init, open and return progress dialog</instruction>
						<instruction>	var progress = OpenProgressDialog( data, &quot;文件夹选择器&quot;, folders.count);</instruction>
						<instruction />
						<instruction>	var searchMode = params.GetSearchMode();</instruction>
						<instruction>	while (!folders.enumerator.atEnd() ) {</instruction>
						<instruction>		var folder = folders.enumerator.item(); folders.enumerator.moveNext();</instruction>
						<instruction>		dout(&quot;文件夹 [&quot;+folder.name+&quot;]..&quot;);</instruction>
						<instruction>		progress.SetName(folder.name);</instruction>
						<instruction>		//if subfolder to exclude is given, search subfolders before looking for matching files</instruction>
						<instruction>		if (params.excludeFolder &amp;&amp; defaultSearch.excludeFolderName!=&quot;&quot; &amp;&amp; SubFolderExists( folder.path+&quot;\\&quot;+folder.name, defaultSearch.excludeFolderName)){</instruction>
						<instruction>			dout(&quot;    包含子文件夹 [&quot;+defaultSearch.excludeFolderName+&quot;], 正在跳过文件夹.&quot;);</instruction>
						<instruction>			progress.StepFiles(1);</instruction>
						<instruction>			continue;</instruction>
						<instruction>		}</instruction>
						<instruction>		if (exists = FileExists( folder.path+&quot;\\&quot;+folder.name, params.searchMe, searchMode)){</instruction>
						<instruction>			dout(&quot;    至少包含一个匹配的文件.&quot;);</instruction>
						<instruction>			data.func.command.AddFile(folder);</instruction>
						<instruction>		}</instruction>
						<instruction>		progress.StepFiles(1);</instruction>
						<instruction>    }</instruction>
						<instruction />
						<instruction>	data.func.command.RunCommand(&quot;Select FROMSCRIPT DESELECTNOMATCH MAKEVISIBLE&quot;);</instruction>
						<instruction>	progress.Hide();</instruction>
						<instruction>	DOMsgBox(&quot;ISO-FolderSelector&quot;,&quot;找到 &quot;+data.func.command.files.count+&quot; 个文件夹与搜索相匹配.&quot;,&quot;确定&quot;);</instruction>
						<instruction>}</instruction>
						<instruction>///////////////////////////////////////////////////////////////////////////////</instruction>
						<instruction>function ReadFolder( path, recurse, exception){</instruction>
						<instruction>	if (recurse == undefined) recurse=false;</instruction>
						<instruction>	if (exception == undefined) exception=true;</instruction>
						<instruction>	var fEnum = DOpus.FSUtil.ReadDir( path, true);</instruction>
						<instruction>	if (fEnum.error!=0){</instruction>
						<instruction>		var error = &quot;ReadFolder(): Error reading folder [&quot;+name+&quot;], code [&quot;+fEnum.error+&quot;].&quot;;</instruction>
						<instruction>		if (exception) throw error;</instruction>
						<instruction>		dout(error);</instruction>
						<instruction>	}</instruction>
						<instruction>	return fEnum;</instruction>
						<instruction>}</instruction>
						<instruction>///////////////////////////////////////////////////////////////////////////////</instruction>
						<instruction>function SubFolderExists( folderPath, subFolderName){</instruction>
						<instruction>	subFolderName = subFolderName.toLowerCase();</instruction>
						<instruction>	var fEnum = ReadFolder( folderPath, true, true);</instruction>
						<instruction>	while (!fEnum.complete &amp;&amp; (fItem = fEnum.Next()))</instruction>
						<instruction>		if (fItem.is_dir &amp;&amp; (fItem.name.toLowerCase() == subFolderName))</instruction>
						<instruction>			return true;</instruction>
						<instruction>	return false;</instruction>
						<instruction>}</instruction>
						<instruction>///////////////////////////////////////////////////////////////////////////////</instruction>
						<instruction>function FileExists( folderPath, searchMe, searchMode){</instruction>
						<instruction>	if (searchMode == undefined) searchMode=&apos;full&apos;;</instruction>
						<instruction>	searchMe = searchMe.toLowerCase();</instruction>
						<instruction>	if (searchMode==&apos;ext&apos;) searchMe=searchMe.replace(&apos;\.&apos;,&apos;&apos;);</instruction>
						<instruction>	var fEnum = ReadFolder( folderPath, true, true);</instruction>
						<instruction>	while (!fEnum.complete &amp;&amp; (fItem = fEnum.Next())){</instruction>
						<instruction>		if (fItem.is_dir) continue;</instruction>
						<instruction>		switch (searchMode){</instruction>
						<instruction>			case &apos;ext&apos;:</instruction>
						<instruction>				if (fItem.ext.toLowerCase()==&quot;.&quot;+searchMe)</instruction>
						<instruction>					return true;</instruction>
						<instruction>			break;</instruction>
						<instruction>			case &apos;stem&apos;:</instruction>
						<instruction>				if (fItem.name_stem.toLowerCase().indexOf(searchMe)!=-1)</instruction>
						<instruction>					return true;</instruction>
						<instruction>			break;</instruction>
						<instruction>			case &apos;full&apos;:</instruction>
						<instruction>			default:</instruction>
						<instruction>				if (fItem.name.toLowerCase().indexOf(searchMe)!=-1)</instruction>
						<instruction>					return true;</instruction>
						<instruction>			break;</instruction>
						<instruction>		}</instruction>
						<instruction>	}</instruction>
						<instruction>	return false;</instruction>
						<instruction>}</instruction>
						<instruction>///////////////////////////////////////////////////////////////////////////////</instruction>
						<instruction>function GetFolders(data){</instruction>
						<instruction>	if (data.func.sourcetab.selected_dirs.count)</instruction>
						<instruction>		var dirs = data.func.sourcetab.selected_dirs;</instruction>
						<instruction>	else</instruction>
						<instruction>		var dirs = data.func.sourcetab.dirs;</instruction>
						<instruction>	return { enumerator:new Enumerator(dirs), count:dirs.count};</instruction>
						<instruction>}</instruction>
						<instruction>///////////////////////////////////////////////////////////////////////////////</instruction>
						<instruction>function DoDialog( params){</instruction>
						<instruction>	var dlg = DOpus.Dlg</instruction>
						<instruction>	dlg.window = DOpus.Listers(0);</instruction>
						<instruction>	dlg.message = &quot;请输入要搜索的字符串/扩展名:\n &quot;;</instruction>
						<instruction>	dlg.title = &quot;文件夹选择器..&quot;;</instruction>
						<instruction>	dlg.buttons = &quot;确定|取消&quot;;</instruction>
						<instruction>	dlg.icon = &quot;question&quot;;</instruction>
						<instruction />
						<instruction>	dlg.max = 128; //enable text field</instruction>
						<instruction>	dlg[&apos;default&apos;] = params.searchMe;</instruction>
						<instruction />
						<instruction>	dlg.options(0).label = &quot;搜索扩展名&quot;;</instruction>
						<instruction>	dlg.options(0).state = params.searchExtension;</instruction>
						<instruction />
						<instruction>	dlg.options(1).label = &quot;搜索主名stem&quot;;</instruction>
						<instruction>	dlg.options(1).state = params.searchStem;</instruction>
						<instruction />
						<instruction>	if (defaultSearch.excludeFolderName!=&quot;&quot;){</instruction>
						<instruction>		dlg.options(2).label = &quot;可能不包含文件夹 (&quot;+defaultSearch.excludeFolderName+&quot;)&quot;;</instruction>
						<instruction>		dlg.options(2).state = params.excludeFolder;</instruction>
						<instruction>	}</instruction>
						<instruction>	return dlg;</instruction>
						<instruction>}</instruction>
						<instruction>///////////////////////////////////////////////////////////////////////////////</instruction>
						<instruction>function OpenProgressDialog( data, title, numFiles){</instruction>
						<instruction>	var progress = data.func.command.progress;</instruction>
						<instruction>	progress.delay = false;</instruction>
						<instruction>	progress.abort = true;</instruction>
						<instruction>	progress.Init(data.func.sourcetab, title);</instruction>
						<instruction>	progress.AddFiles(numFiles);</instruction>
						<instruction>	progress.Show();</instruction>
						<instruction>	return progress;</instruction>
						<instruction>}</instruction>
						<instruction>///////////////////////////////////////////////////////////////////////////////</instruction>
						<instruction>function SearchParams(searchMe, searchExtension, searchStem, excludeFolderName, excludeFolder){</instruction>
						<instruction>	if (searchMe == undefined) searchMe=&apos;iso&apos;;</instruction>
						<instruction>	if (searchExtension == undefined) searchExtension=true;</instruction>
						<instruction>	if (searchStem == undefined) searchStem=false;</instruction>
						<instruction>	if (excludeFolderName == undefined) excludeFolderName=&quot;&quot;;</instruction>
						<instruction>	if (excludeFolder == undefined) excludeFolder=false;</instruction>
						<instruction>	this.searchMe=searchMe;</instruction>
						<instruction>	this.searchExtension=searchExtension;</instruction>
						<instruction>	this.searchStem=searchStem;</instruction>
						<instruction>	this.excludeFolderName=excludeFolderName;</instruction>
						<instruction>	this.excludeFolder=excludeFolder;</instruction>
						<instruction>	this.GetSearchMode = function(){</instruction>
						<instruction>		var searchMode=&apos;full&apos;;</instruction>
						<instruction>		if (this.searchExtension &amp;&amp; !this.searchStem) searchMode=&apos;ext&apos;;</instruction>
						<instruction>		if (!this.searchExtension &amp;&amp; this.searchStem) searchMode=&apos;stem&apos;;</instruction>
						<instruction>		return searchMode;</instruction>
						<instruction>	}</instruction>
						<instruction>}</instruction>
						<instruction>///////////////////////////////////////////////////////////////////////////////</instruction>
						<instruction>function GetSearchParamsFromDialog(dlg){</instruction>
						<instruction>	var dlgSearchParams = new SearchParams();</instruction>
						<instruction>	dlgSearchParams.searchMe = dlg.input;</instruction>
						<instruction>	dlgSearchParams.searchExtension = dlg.options(0).state;</instruction>
						<instruction>	dlgSearchParams.searchStem = dlg.options(1).state;</instruction>
						<instruction>	if (defaultSearch.excludeFolderName){ //exclude subfolder name given, so option is present to exclude it</instruction>
						<instruction>		dlgSearchParams.excludeFolder = dlg.options(2).state;</instruction>
						<instruction>	}</instruction>
						<instruction>	return dlgSearchParams;</instruction>
						<instruction>}</instruction>
						<instruction>///////////////////////////////////////////////////////////////////////////////</instruction>
						<instruction>function ValidateSearchParams(params){</instruction>
						<instruction>	if (!params)</instruction>
						<instruction>		return false;</instruction>
						<instruction>	if (!params.searchExtension &amp;&amp; !params.searchStem){</instruction>
						<instruction>			DOMsgBox(&quot;文件夹选择器&quot;, &quot;你需要选择主名或扩展名或两者!&quot;, &quot;Oops!&quot;);</instruction>
						<instruction>			return false;</instruction>
						<instruction>	}</instruction>
						<instruction>	if (params.searchMe==&quot;&quot;){</instruction>
						<instruction>			DOMsgBox(&quot;文件夹选择器&quot;, &quot;你忘了输入一个要搜索的字符串!&quot;, &quot;Oops!&quot;);</instruction>
						<instruction>			return false;</instruction>
						<instruction>	}</instruction>
						<instruction>	return true;</instruction>
						<instruction>}</instruction>
						<instruction>///////////////////////////////////////////////////////////////////////////////</instruction>
						<instruction>function GetDefaultOrLastSearchParams(data){</instruction>
						<instruction>	var search = defaultSearch;</instruction>
						<instruction>	if (data.func.sourcetab.vars.exists(&quot;lastSearch&quot;))</instruction>
						<instruction>		search = Vector2Search(data.func.sourcetab.vars.get(&quot;lastSearch&quot;));</instruction>
						<instruction>	return search;</instruction>
						<instruction>}</instruction>
						<instruction>///////////////////////////////////////////////////////////////////////////////</instruction>
						<instruction>function GetCombinedSearchParams(data){</instruction>
						<instruction>	var userSearchParams = GetDefaultOrLastSearchParams(data);</instruction>
						<instruction>	var dlg = DoDialog(userSearchParams);</instruction>
						<instruction>	var result=dlg.Show();</instruction>
						<instruction>	if (result==0){</instruction>
						<instruction>		dout(&quot;文件夹选择器对话框已取消.&quot;);</instruction>
						<instruction>		return null;</instruction>
						<instruction>	}</instruction>
						<instruction>	return GetSearchParamsFromDialog(dlg);</instruction>
						<instruction>}</instruction>
						<instruction>///////////////////////////////////////////////////////////////////////////////</instruction>
						<instruction>function GetSearchParams(data){</instruction>
						<instruction>	var params = null;</instruction>
						<instruction>	while (!ValidateSearchParams(params)){</instruction>
						<instruction>		params = GetCombinedSearchParams(data);</instruction>
						<instruction>		if (!params)</instruction>
						<instruction>			return false; //dialog canceled</instruction>
						<instruction>	}</instruction>
						<instruction>	return params;</instruction>
						<instruction>}</instruction>
						<instruction>///////////////////////////////////////////////////////////////////////////////</instruction>
						<instruction>function SaveSearchParams(data, params){</instruction>
						<instruction>	data.func.sourcetab.vars.set(&quot;lastSearch&quot;, Search2Vector(params));</instruction>
						<instruction>}</instruction>
						<instruction>///////////////////////////////////////////////////////////////////////////////</instruction>
						<instruction>function Search2Vector( search){</instruction>
						<instruction>	var vector = DOpus.NewVector();</instruction>
						<instruction>	vector.push_back(search.searchMe);</instruction>
						<instruction>	vector.push_back(search.searchExtension);</instruction>
						<instruction>	vector.push_back(search.searchStem);</instruction>
						<instruction>	vector.push_back(search.excludeFolderName);</instruction>
						<instruction>	vector.push_back(search.excludeFolder);</instruction>
						<instruction>	return vector;</instruction>
						<instruction>}</instruction>
						<instruction>///////////////////////////////////////////////////////////////////////////////</instruction>
						<instruction>function Vector2Search( vector){</instruction>
						<instruction>	return new SearchParams( vector(0), vector(1), vector(2), vector(3), vector(4));</instruction>
						<instruction>}</instruction>
						<instruction>///////////////////////////////////////////////////////////////////////////////</instruction>
						<instruction>function DOMsgBox(title,message,buttons){</instruction>
						<instruction>	var dlg = DOpus.Dlg</instruction>
						<instruction>	dlg.window = DOpus.Listers(0);</instruction>
						<instruction>	dlg.message = message;</instruction>
						<instruction>	dlg.title = title;</instruction>
						<instruction>	dlg.buttons = buttons;</instruction>
						<instruction>	var result = dlg.Show();</instruction>
						<instruction>	dout(title+&quot; - &quot;+message+&quot; - &quot;+buttons+&quot; -&gt; &quot;+result);</instruction>
						<instruction>	return result;</instruction>
						<instruction>}</instruction>
						<instruction>///////////////////////////////////////////////////////////////////////////////</instruction>
						<instruction>function dout(text){</instruction>
						<instruction>	DOpus.Output(text);</instruction>
						<instruction>}</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>正则 | 名称包含汉字的文件</label>
					<icon1>#advancedselect</icon1>
					<function type="normal">
						<instruction>Select .*[\u4e00-\u9fff]+.* REGEXP</instruction>
					</function>
				</button>
			</button>
			<button backcol="none" display="both" textcol="none" type="menu">
				<label>用过滤器(&amp;F)</label>
				<icon1>#filterfield</icon1>
				<button backcol="none" display="both" textcol="none">
					<label>单个 | 按过滤器选择</label>
					<tip>Select by Filter</tip>
					<icon1>#recursivefilter</icon1>
					<function type="normal">
						<instruction>SelectEx FILTERDROP=select NODESELECT</instruction>
					</function>
				</button>
				<button backcol="none" display="both" separate="yes" textcol="none">
					<label>单个 | 按过滤器取消选择</label>
					<tip>DeSelect by Filter</tip>
					<icon1>#recursivefilter</icon1>
					<function type="normal">
						<instruction>SelectEx FILTERDROP=deselect NODESELECT</instruction>
					</function>
				</button>
				<button backcol="none" display="both" textcol="none">
					<label>多个 | 按过滤器选择</label>
					<tip>Select by Filter</tip>
					<icon1>#recursivefilter</icon1>
					<function type="normal">
						<instruction>SelectEx FILTERLIST=select NODESELECT</instruction>
					</function>
				</button>
				<button backcol="none" display="both" separate="yes" textcol="none">
					<label>多个 | 按过滤器取消选择</label>
					<tip>DeSelect by Filter</tip>
					<icon1>#recursivefilter</icon1>
					<function type="normal">
						<instruction>SelectEx FILTERLIST=deselect NODESELECT</instruction>
					</function>
				</button>
				<button backcol="none" display="both" textcol="none">
					<label>名称包含汉字</label>
					<tip>仅显示名称包含汉字的</tip>
					<icon1>#recursivefilter</icon1>
					<function type="normal">
						<instruction>select FILTER=&quot;名称包含汉字.ofi&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="both" textcol="none" type="menu">
					<label>今天</label>
					<icon1>#window</icon1>
					<button backcol="none" display="label" textcol="none">
						<label>今天创建的压缩包</label>
						<icon1>#newcommand</icon1>
						<function type="normal">
							<instruction>select FILTER=&quot;今天创建的压缩包.ofi&quot;</instruction>
						</function>
					</button>
					<button backcol="none" display="label" textcol="none">
						<label>今天创建的文件</label>
						<icon1>#newcommand</icon1>
						<function type="normal">
							<instruction>select FILTER=&quot;今天创建的文件.ofi&quot;</instruction>
						</function>
					</button>
					<button backcol="none" display="label" textcol="none">
						<label>今天创建的文件夹</label>
						<icon1>#newcommand</icon1>
						<function type="normal">
							<instruction>select FILTER=&quot;今天创建的文件夹.ofi&quot;</instruction>
						</function>
					</button>
					<button backcol="none" display="label" textcol="none">
						<label>今天创建的文件夹和文件</label>
						<icon1>#newcommand</icon1>
						<function type="normal">
							<instruction>select FILTER=&quot;今天创建的文件夹和文件.ofi&quot;</instruction>
						</function>
					</button>
					<button backcol="none" display="label" textcol="none">
						<label>今天修改的文件</label>
						<icon1>#newcommand</icon1>
						<function type="normal">
							<instruction>select FILTER=&quot;今天修改的文件.ofi&quot;</instruction>
						</function>
					</button>
					<button backcol="none" display="label" textcol="none">
						<label>今天修改的文件夹</label>
						<icon1>#newcommand</icon1>
						<function type="normal">
							<instruction>select FILTER=&quot;今天修改的文件夹.ofi&quot;</instruction>
						</function>
					</button>
					<button backcol="none" display="label" textcol="none">
						<label>今天修改的文件夹和文件</label>
						<icon1>#newcommand</icon1>
						<function type="normal">
							<instruction>select FILTER=&quot;今天修改的文件夹和文件.ofi&quot;</instruction>
						</function>
					</button>
				</button>
			</button>
			<button backcol="none" display="both" textcol="none" type="menu">
				<label>文件类型(&amp;T)</label>
				<icon1>#filetype</icon1>
				<button backcol="none" display="label" textcol="none">
					<label>压缩包</label>
					<icon1>#newcommand</icon1>
					<function type="normal">
						<instruction>select FILTER=&quot;类型 压缩包.ofi&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="label" textcol="none">
					<label>图像文件</label>
					<icon1>#newcommand</icon1>
					<function type="normal">
						<instruction>select FILTER=&quot;类型 图像文件.ofi&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="label" textcol="none">
					<label>音频文件</label>
					<icon1>#newcommand</icon1>
					<function type="normal">
						<instruction>select FILTER=&quot;类型 音频文件.ofi&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="label" textcol="none">
					<label>视频文件</label>
					<icon1>#newcommand</icon1>
					<function type="normal">
						<instruction>select FILTER=&quot;类型 视频文件.ofi&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="label" textcol="none">
					<label>文档文件</label>
					<icon1>#newcommand</icon1>
					<function type="normal">
						<instruction>select FILTER=&quot;类型 文档文件.ofi&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="label" textcol="none">
					<label>程序文件</label>
					<icon1>#newcommand</icon1>
					<function type="normal">
						<instruction>select FILTER=&quot;类型 程序文件.ofi&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="label" textcol="none">
					<label>除视频之外全部</label>
					<icon1>#empty</icon1>
					<function type="normal">
						<instruction>select FILTER=&quot;类型 除视频之外全部.ofi&quot;</instruction>
					</function>
				</button>
			</button>
			<button backcol="none" display="both" textcol="none" type="menu">
				<label>双栏选择(&amp;S)</label>
				<icon1>#newmenu</icon1>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>来源 | 双栏都有</label>
					<tip>在来源栏中选择双栏都有的文件</tip>
					<icon1>#syncpane1</icon1>
					<function type="normal">
						<instruction>Select DESTTOSOURCE=in DESELECTNOMATCH</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>来源 | 来源有而目标无</label>
					<tip>选择来源文件夹中有而目标文件夹中没有的文件</tip>
					<icon1>#flatview</icon1>
					<function type="normal">
						<instruction>Select DESTTOSOURCE=notin DESELECTNOMATCH</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>目标 | 与来源选定项同名</label>
					<tip>在目标栏中选择与来源栏中选定文件同名的文件</tip>
					<icon1>#flickrsync2</icon1>
					<function type="normal">
						<instruction>Select SOURCETODEST DESELECTNOMATCH</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>目标 | 来源无而目标有</label>
					<tip>选择来源文件夹中无而目标文件夹中有的文件</tip>
					<icon1>#syncpane1</icon1>
					<function type="normal">
						<instruction>Select SOURCETODEST=notin DESELECTNOMATCH</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>目标 | 双栏都有</label>
					<tip>在目标栏中选择所有与来源栏有同名的文件</tip>
					<icon1>#syncpane1</icon1>
					<function type="normal">
						<instruction>Select SOURCETODEST=in DESELECTNOMATCH</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>目标 | 双栏都有 (忽略扩展名)</label>
					<tip>在目标栏中选择所有与来源栏有相同基本名的文件，忽略扩展名</tip>
					<icon1>#syncpane1</icon1>
					<function type="normal">
						<instruction>Select SOURCETODEST=in,noext DESELECTNOMATCH</instruction>
					</function>
				</button>
			</button>
			<button backcol="none" display="both" textcol="none" type="menu">
				<label>同扩展名(&amp;E)</label>
				<icon1>#newmenu</icon1>
				<button backcol="none" display="both" hotkey="187,4" textcol="none">
					<label>选择相同扩展名(焦点)\tAlt+=</label>
					<tip>选择与焦点处文件具有相同扩展名的所有文件</tip>
					<icon1>#duplicate</icon1>
					<function type="script">
						<instruction>@script JScript</instruction>
						<instruction>function OnClick(clickData)</instruction>
						<instruction>{</instruction>
						<instruction>	var cmd = clickData.func.command;</instruction>
						<instruction>	cmd.deselect = false;</instruction>
						<instruction>	var focusitem = clickData.func.sourcetab.GetFocusItem();</instruction>
						<instruction>	if(focusitem.is_dir)</instruction>
						<instruction>		cmd.RunCommand(&quot;Select ALLDIRS&quot;);</instruction>
						<instruction>	else{</instruction>
						<instruction>		var selext=focusitem.ext;</instruction>
						<instruction>		if(selext)</instruction>
						<instruction>		cmd.RunCommand(&quot;Select *&quot;+selext);</instruction>
						<instruction>	}</instruction>
						<instruction>}</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>选择全部相同扩展名</label>
					<tip>选择与选定的所有文件具有相同扩展名的文件</tip>
					<icon1>#advancedselect</icon1>
					<function type="normal">
						<instruction>Select SIMILAR=trueext</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>选择相同基本名(&amp;J)\t空格, J</label>
					<tip>选择具有相同基本名的文件，忽略扩展名</tip>
					<hotkeys>
						<chord>
							<key>space</key>
							<key>J</key>
						</chord>
					</hotkeys>
					<icon1>#advancedselect</icon1>
					<function type="normal">
						<instruction>Select SIMILARBASE</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey="189,4" textcol="none">
					<label>不选相同扩展名\tAlt+-</label>
					<tip>取消选择与焦点处文件扩展名相同的所有文件</tip>
					<icon1>#selectnone</icon1>
					<function type="script">
						<instruction>@script JScript</instruction>
						<instruction>function OnClick(clickData) {</instruction>
						<instruction>	var cmd = clickData.func.command;</instruction>
						<instruction>	cmd.deselect = false;</instruction>
						<instruction>	</instruction>
						<instruction>	var selext = clickData.func.sourcetab.GetFocusItem().ext;</instruction>
						<instruction>	if(selext)</instruction>
						<instruction>		cmd.RunCommand(&quot;Select *&quot;+selext+&quot; DESELECT&quot;);</instruction>
						<instruction>}</instruction>
					</function>
				</button>
			</button>
			<button backcol="none" display="both" textcol="none" type="menu">
				<label>随机选择</label>
				<icon1>#selectwild</icon1>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>随机选择一个文件</label>
					<tip>有仪式感的选择文件</tip>
					<icon1>#swapsourcedest</icon1>
					<function type="script">
						<instruction>@script JScript</instruction>
						<instruction>function OnClick(clickData)</instruction>
						<instruction>{</instruction>
						<instruction>	var cmd = clickData.func.command;</instruction>
						<instruction>	var files=clickData.func.sourcetab.files;</instruction>
						<instruction>	var dirs=clickData.func.sourcetab.dirs;</instruction>
						<instruction>	var count=files.count+dirs.count;</instruction>
						<instruction>	var rndcound=Math.floor(Math.random()*count+1)-1</instruction>
						<instruction>	cmd.RunCommand(&apos;Select RANGE &apos;+rndcound);</instruction>
						<instruction>}</instruction>
					</function>
				</button>
				<button backcol="none" display="both" textcol="none">
					<label>随机选择并播放1个视频文件</label>
					<tip>Select and Play 1 random movie file</tip>
					<icon1>#play</icon1>
					<function type="normal">
						<instruction>SelectEx RANDOM ITEMCOUNT=1 NAME=&quot;\.(avi|mov|mpg|divx|mp4)$&quot; FILES MAKEVISIBLE DESELECTNOMATCH ACTION=&quot;dblclk&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="both" textcol="none">
					<label>随机选择文件夹缩略图</label>
					<tip>Select random folder thumbnail</tip>
					<icon1>#thumbnails</icon1>
					<function type="script">
						<instruction>@script jscript</instruction>
						<instruction>function OnClick(data){</instruction>
						<instruction>	var cmd = data.func.command, tab = data.func.sourcetab;</instruction>
						<instruction>	for (var iEnum = new Enumerator(tab.selected_dirs); !iEnum.atEnd(); iEnum.moveNext()){</instruction>
						<instruction>		var folder = iEnum.item()</instruction>
						<instruction>		cmd.RunCommand(&apos;SelectEx XLOG=all RANDOM PATH=&quot;&apos;+folder.realpath+&apos;&quot; RECURSE FILES SETVAR=&quot;SelexResult&quot; NAME=&quot;\.jpg$&quot; ECHO&apos;);</instruction>
						<instruction>		var imagePath = tab.Vars.Get(&quot;SelexResult&quot;);</instruction>
						<instruction>		if (imagePath==&quot;&quot;) continue;</instruction>
						<instruction>		cmd.RunCommand(&apos;Image CONVERT=jpg AS=folder.jpg HEIGHT=512 WIDTH=512 &apos;+</instruction>
						<instruction>			&apos;PRESERVEASPECTRATIO REPLACE=always FROM=&quot;&apos;+imagePath+&apos;&quot; TO=&quot;&apos;+folder.realpath+&apos;&quot;&apos;);</instruction>
						<instruction>		cmd.RunCommand(&apos;SetAttr ATTR=hs FILE=&quot;&apos;+folder.realpath+&apos;\\folder.jpg&quot;&apos;);</instruction>
						<instruction>		//DOpus.Output(&quot;EnvResult: &quot; + new ActiveXObject(&quot;WScript.Shell&quot;).Environment(&quot;Process&quot;)(&quot;SRResult&quot;));</instruction>
						<instruction>	}</instruction>
						<instruction>}</instruction>
					</function>
				</button>
				<button backcol="none" display="both" textcol="none">
					<label>随机选择 8GB mp3专辑(文件夹)</label>
					<tip>Select 8GB of random mp3 albums (folders)</tip>
					<icon1>#play2</icon1>
					<function type="normal">
						<instruction>SelectEx RANDOM MAXSIZETOTAL=8gb ITEMCOUNT=999999 FOLDERS DESELECTNOMATCH MAKEVISIBLE</instruction>
					</function>
				</button>
				<button backcol="none" display="both" textcol="none">
					<label>随机将10个摇滚乐曲放入摇滚文件收集中(慎用)</label>
					<tip>Put 10 random &quot;Rock&quot; tunes into &quot;Rock&quot; file collection</tip>
					<icon1>#Windows_icos_plus:24.Play Music</icon1>
					<function type="script">
						<instruction>@script jscript</instruction>
						<instruction />
						<instruction>var pickGenre = &quot;Rock&quot;;</instruction>
						<instruction>var doColName = &quot;Rock&quot;;</instruction>
						<instruction />
						<instruction>function OnClick(data){</instruction>
						<instruction>	if (!DOpus.Dlg.Request(&quot;This can take some time, continue?&quot;,&quot;Ok|Cancel&quot;)) return;</instruction>
						<instruction>	</instruction>
						<instruction>	var cmd = data.func.command;</instruction>
						<instruction>	var jsFilter = &quot;&quot;+</instruction>
						<instruction>    &quot;if (item.metadata == &apos;audio&apos;){ &quot;+</instruction>
						<instruction>        &quot;var genre = new String(item.metadata.audio[&apos;mp3genre&apos;]);&quot;+</instruction>
						<instruction>        &quot;if (genre.toLowerCase().indexOf(&apos;&quot;+pickGenre+&quot;&apos;.toLowerCase())!=-1)&quot;+</instruction>
						<instruction>			&quot;return false; /*do not filter*/&quot;+</instruction>
						<instruction>    &quot;}&quot;;</instruction>
						<instruction />
						<instruction>	cmd.RunCommand(&apos;SelectEx RANDOM &apos;+</instruction>
						<instruction>					&apos;ITEMCOUNT=10 &apos;+</instruction>
						<instruction>					&apos;PATH=&quot;&apos;+data.func.sourcetab.path+&apos;&quot; &apos;+</instruction>
						<instruction>					&apos;JSFILTER=&quot;&apos;+jsFilter+&apos;&quot; &apos;+</instruction>
						<instruction>					&apos;NAME=&quot;\\.mp3$&quot; &apos;+</instruction>
						<instruction>					&apos;RECURSE &apos;+</instruction>
						<instruction>					&apos;XLOG=all &apos;+</instruction>
						<instruction>					&apos;SETVAR=SelexResult &apos;+</instruction>
						<instruction>					&apos;COPYTOCOLL=&quot;&apos;+doColName+&apos;&quot; &apos;+</instruction>
						<instruction>					&apos;COMMANDS=Go NEWTAB=findexisting &quot;coll://&apos;+doColName+&apos;&quot;&apos;);</instruction>
						<instruction />
						<instruction>	if (data.func.sourcetab.Vars.Get(&quot;SelexResult&quot;)==&quot;&quot;)</instruction>
						<instruction>		DOpus.Dlg.Request(&quot;Sorry, no tunes found.&quot;);</instruction>
						<instruction>}</instruction>
						<instruction> </instruction>
					</function>
				</button>
				<button backcol="none" display="both" textcol="none">
					<label>随机选择并幻灯片播放20个图片</label>
					<tip>Select and Slideshow 20 random image files</tip>
					<icon1>#DOpus9:thumbnails</icon1>
					<function type="normal">
						<instruction>SelectEx RANDOM FILES ITEMCOUNT=20 NAME=&quot;\.(jpg|png|gif|bmp)&quot; DESELECTNOMATCH COMMANDS=Show SLIDESHOW</instruction>
					</function>
				</button>
				<button backcol="none" display="both" textcol="none">
					<label>随机选择100个mp3文件</label>
					<tip>Select 100 random mp3 files</tip>
					<icon1>#togglesounds</icon1>
					<function type="normal">
						<instruction>SelectEx RANDOM ITEMCOUNT=100 NAME=&quot;\.mp3$&quot; FILES MAKEVISIBLE DESELECTNOMATCH</instruction>
					</function>
				</button>
				<button backcol="none" display="both" textcol="none">
					<label>随机选择50%项</label>
					<tip>Select 50% random items</tip>
					<icon1>#favoritesadd</icon1>
					<function type="normal">
						<instruction>SelectEx RANDOM ITEMCOUNTPERC=50 MAKEVISIBLE DESELECTNOMATCH</instruction>
					</function>
				</button>
			</button>
			<button backcol="none" display="both" textcol="none" type="menu_button">
				<label>复选框</label>
				<tip>Checkboxes</tip>
				<icon1>#checkboxmode</icon1>
				<function type="normal">
					<instruction>@keydown:none</instruction>
					<instruction>Set CHECKBOXMODE=Toggle</instruction>
				</function>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>选中项自动打勾</label>
					<tip>设置复选框的状态以匹配当前的选择</tip>
					<icon1>#checkboxmode</icon1>
					<function type="normal">
						<instruction>Select TOCHECKS</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>打勾项自动选中</label>
					<tip>设置选择来匹配复选框状态</tip>
					<icon1>#checkboxmode</icon1>
					<function type="normal">
						<instruction>Select FROMCHECKS </instruction>
					</function>
				</button>
			</button>
			<button backcol="none" display="both" separate="yes" textcol="none" type="menu">
				<label>更多...</label>
				<tip>More..</tip>
				<icon1>#advancedselect</icon1>
				<button backcol="none" display="both" textcol="none">
					<label>选择前x个文件...</label>
					<tip>Select the first x files..</tip>
					<icon1>#selectinvert</icon1>
					<function type="normal">
						<instruction>SelectEx LINEAR FILES ITEMCOUNT={dlgstring|输入要选择的数量:|100} DESELECTNOMATCH MAKEVISIBLE</instruction>
					</function>
				</button>
				<button backcol="none" display="both" textcol="none">
					<label>选择前20个文件夹</label>
					<tip>Select the first 20 folders</tip>
					<icon1>#selectinvert</icon1>
					<function type="normal">
						<instruction>SelectEx LINEAR ITEMCOUNT=20 FOLDERS MAKEVISIBLE DESELECTNOMATCH</instruction>
					</function>
				</button>
				<button backcol="none" display="both" textcol="none">
					<label>选择前25%项</label>
					<tip>Select the first 25% percent</tip>
					<icon1>#selectinvert</icon1>
					<function type="normal">
						<instruction>SelectEx LINEAR ITEMCOUNTPERC=25 MAKEVISIBLE DESELECTNOMATCH</instruction>
					</function>
				</button>
			</button>
		</button>
		<button always_enable="yes" backcol="none" display="both" label_pos="right" separate="yes" textcol="none" type="menu_button">
			<label>重命名(&amp;N)</label>
			<tip>重命名选定的文件与文件夹</tip>
			<hotkeys>
				<key>alt+f2</key>
				<key>alt+3</key>
			</hotkeys>
			<icon1>#rename</icon1>
			<function type="normal">
				<instruction>@disablenosel</instruction>
				<instruction>@nodeselect</instruction>
				<instruction>=return(&quot;Rename &quot; + ($glob:dopus_Rename_Simple ? &quot;SIMPLE&quot; : &quot;ADVANCED&quot;))</instruction>
			</function>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>重命名\tAlt+F2 / Alt+3</label>
				<tip>重命名选定的文件与文件夹</tip>
				<icon1>#rename</icon1>
				<function type="normal">
					<instruction>@disablenosel</instruction>
					<instruction>@if:$glob:dopus_Rename_Simple</instruction>
					<instruction>Rename SIMPLE</instruction>
					<instruction>@if:else</instruction>
					<instruction>Rename ADVANCED PRESET=last</instruction>
					<instruction>@nodeselect</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>使用简单重命名(&amp;S)</label>
				<tip>打开后，默认的重命名命令将使用简单重命名对话框</tip>
				<icon1>#rename</icon1>
				<function type="normal">
					<instruction>@toggle:=$glob:dopus_Rename_Simple</instruction>
					<instruction>=$glob!:dopus_Rename_Simple = !$glob:dopus_Rename_Simple</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>内联重命名求值器控制键(&amp;S)</label>
				<tip>选项--文件操作--重命名文件--控制键</tip>
				<icon1>#rename</icon1>
				<function type="normal">
					<instruction>//https://docs.dopus.com/doku.php?id=evaluator:applicable_contexts:rename_control_keys</instruction>
					<instruction>Prefs PAGE=&quot;inlinerenamesel&quot;</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none" type="menu">
				<label>重命名预设</label>
				<icon1>#rename2</icon1>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>上次使用的预置</label>
					<tip>在高级对话框中使用过预置后，本命令可打开对话框并显示上次使用的预置</tip>
					<icon1>#rename2</icon1>
					<function type="normal">
						<instruction>//打开对话框</instruction>
						<instruction>Rename PRESET=last</instruction>
						<instruction>//无对话框 直接应用上一次使用的预置</instruction>
						<instruction>//Rename PRESET=!last</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>重命名预置(收藏)</label>
					<tip>显示重命名预设列表</tip>
					<icon1>#rename2</icon1>
					<function type="normal">
						<instruction>Rename PRESET=!list,favesonly HEADING</instruction>
						<instruction>@nodeselect</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>重命名预置(非收藏)</label>
					<tip>显示重命名预设列表</tip>
					<icon1>#rename2</icon1>
					<function type="normal">
						<instruction>Rename PRESET=!list,nofaves HEADING</instruction>
						<instruction>@nodeselect</instruction>
					</function>
				</button>
			</button>
			<button backcol="none" display="both" hotkey="alt+V" hotkey_label="yes" label_pos="right" textcol="none">
				<label>从剪贴板文本(&amp;V)</label>
				<tip>可用多行文本重命名多个文件</tip>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect </instruction>
					<instruction>Rename PRESET=&quot;从剪贴板&quot; WHENEXISTS=rename</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>剪贴板作前缀(&amp;Q)</label>
				<hotkeys>
					<chord>
						<key>capslock</key>
						<key>Q</key>
					</chord>
				</hotkeys>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>Rename PATTERN * TO &quot;{clip|cleanfilename}*&quot;</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>剪贴板作后缀(&amp;H)</label>
				<hotkeys>
					<chord>
						<key>capslock</key>
						<key>H</key>
					</chord>
				</hotkeys>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>Rename PATTERN * TO &quot;*{clip|cleanfilename}&quot; IGNOREEXT</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>剪贴板作后缀 改扩展名(&amp;G)</label>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>Rename PATTERN * TO &quot;*{clip|cleanfilename}&quot;</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>剪贴板重命名文件及父目录</label>
				<tip>只针对第一个选中的文件</tip>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect </instruction>
					<instruction>@filesonly </instruction>
					<instruction>@firstfileonly </instruction>
					<instruction />
					<instruction>//当处于磁盘根目录时，会导致磁盘卷标被改名，故需要排除根目录</instruction>
					<instruction>rename {file$} to {clip|cleanfilename} IGNOREEXT</instruction>
					<instruction>//用@ifparhr 正则匹配 排除根目录</instruction>
					<instruction>@ifpathr:!\w:\\$</instruction>
					<instruction>rename {filepath$|..|noterm} to {clip|cleanfilename}</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>随机名称(8位)</label>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>Rename PATTERN * TO *</instruction>
					<instruction>// RandomString</instruction>
					<instruction>// Description: Replace `{randomString}` in the new name to random strings.</instruction>
					<instruction>// Author: @Chaoses-Ib</instruction>
					<instruction>// Version: 231121</instruction>
					<instruction>// Homepage: https://github.com/Chaoses-Ib/IbDOpusScripts</instruction>
					<instruction>@script JScript</instruction>
					<instruction>function OnGetNewName(getNewNameData)</instruction>
					<instruction>{</instruction>
					<instruction>    return randomString62(8) + getNewNameData.newname_ext_m</instruction>
					<instruction>}</instruction>
					<instruction>function randomString62(len){</instruction>
					<instruction>    // Chars used to generate the random string</instruction>
					<instruction>    var table = &quot;0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&quot;</instruction>
					<instruction>    var str = &quot;&quot;</instruction>
					<instruction>    for (i = 0; i &lt; len; i++){</instruction>
					<instruction>        str += table.charAt(randomInt(0, table.length - 1))</instruction>
					<instruction>    }</instruction>
					<instruction>    return str</instruction>
					<instruction>}</instruction>
					<instruction>function randomInt(min, max){</instruction>
					<instruction>    return Math.round(min + Math.random() * (max - min))  // Not max-min+1</instruction>
					<instruction>}</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none">
				<label>交换文件名(保留扩展名)</label>
				<tip>将选中文件按每对交换名称, 保留扩展名\n只能撤销最后的一对\n每一对重命名 在撤销列表中产生一次历史记录</tip>
				<icon1>#updateall</icon1>
				<function type="script">
					<instruction>@script JScript</instruction>
					<instruction>//https://resource.dopus.com/t/swap-the-names-of-two-files/11743</instruction>
					<instruction>//Swap File Names (preserve extensions)</instruction>
					<instruction>//Swap the names of each pair of selected files, preserving extensions.</instruction>
					<instruction />
					<instruction>function OnClick(clickData)</instruction>
					<instruction>{</instruction>
					<instruction>	var sourceTab = clickData.func.sourcetab;</instruction>
					<instruction />
					<instruction>	// Go through the selected items in pairs.</instruction>
					<instruction>	var eSel = new Enumerator(clickData.func.sourcetab.selected);</instruction>
					<instruction>	while (!eSel.atEnd())</instruction>
					<instruction>	{</instruction>
					<instruction>		var fileA = eSel.item();</instruction>
					<instruction>		eSel.moveNext();</instruction>
					<instruction />
					<instruction>		if (eSel.atEnd())</instruction>
					<instruction>			break; // Odd number of files selected.</instruction>
					<instruction />
					<instruction>		var fileB = eSel.item();</instruction>
					<instruction>		eSel.moveNext();</instruction>
					<instruction />
					<instruction>		SwapFiles(sourceTab, fileA, fileB);</instruction>
					<instruction>	}</instruction>
					<instruction>}</instruction>
					<instruction />
					<instruction>function SwapFiles(sourceTab, fileA, fileB)</instruction>
					<instruction>{</instruction>
					<instruction>	// Swap two files&apos; names, preserving each file&apos;s extension.</instruction>
					<instruction />
					<instruction>	var cmd = DOpus.Create.Command();</instruction>
					<instruction>	cmd.SetSourceTab(sourceTab);</instruction>
					<instruction>	cmd.deselect = false;</instruction>
					<instruction />
					<instruction>	var nameA = fileA.name_stem_m;</instruction>
					<instruction>	var nameB = fileB.name_stem_m;</instruction>
					<instruction />
					<instruction>	cmd.AddLine(&quot;Rename PATTERN * TO *&quot;);</instruction>
					<instruction>	cmd.AddLine(&quot;@script jscript&quot;);</instruction>
					<instruction>	// Heard you liked scripts, so we put a script inside your script.</instruction>
					<instruction>	cmd.AddLine(&apos;function OnGetNewName(data) {&apos;);</instruction>
					<instruction>	cmd.AddLine(&apos;	if (data.newname_stem_m == &quot;&apos; + nameA + &apos;&quot;)&apos;);</instruction>
					<instruction>	cmd.AddLine(&apos;		return &quot;&apos; + nameB + &apos;&quot; + data.newname_ext_m;&apos;);</instruction>
					<instruction>	cmd.AddLine(&apos;	if (data.newname_stem_m == &quot;&apos; + nameB + &apos;&quot;)&apos;);</instruction>
					<instruction>	cmd.AddLine(&apos;		return &quot;&apos; + nameA + &apos;&quot; + data.newname_ext_m;&apos;);</instruction>
					<instruction>	cmd.AddLine(&apos;}&apos;);</instruction>
					<instruction />
					<instruction>	cmd.AddFile(fileA);</instruction>
					<instruction>	cmd.AddFile(fileB);</instruction>
					<instruction />
					<instruction>	cmd.Run();</instruction>
					<instruction>}</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>日期作后缀(&amp;R)</label>
				<hotkeys>
					<chord>
						<key>capslock</key>
						<key>R</key>
					</chord>
				</hotkeys>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>Rename PATTERN * TO &quot;*-{date|yyyy.MM.dd}&quot; IGNOREEXT</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>时间作后缀(&amp;T)</label>
				<hotkeys>
					<chord>
						<key>capslock</key>
						<key>I</key>
					</chord>
				</hotkeys>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>Rename PATTERN * TO &quot;*-{time|HHmmss}&quot; IGNOREEXT</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>末尾+创建日期时间</label>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>//Rename PATTERN * TO=&quot;*-{createddate|#yyyyMMdd}_{createdtime|#HHmmss}&quot; IGNOREEXT</instruction>
					<instruction>//Rename PATTERN * TO=&quot;{created|D#yyyyMMdd_T#HHmmss}-*&quot; AUTORENAME IGNOREEXT</instruction>
					<instruction>Rename PATTERN * TO=&quot;*-{created|A#yyyyMMdd_HHmmss}&quot; AUTONUMBER IGNOREEXT</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>数字序号作前缀</label>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>//[#3] 代表插入的位置，3代表数字位数，BY 后面是步长</instruction>
					<instruction>//Rename PATTERN &quot;(.*)&quot; TO &quot;[#3]\1&quot; NUMBER 1 BY 1 REGEXP IGNOREEXT</instruction>
					<instruction>//Rename PATTERN * TO [#3]-* NUMBER 1 BY 1 IGNOREEXT</instruction>
					<instruction />
					<instruction>Rename PATTERN * TO [#].* NUMBER 1 BY 1 IGNOREEXT</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>数字序号作前缀(1 1 2 2 ...)</label>
				<tip>步长可以是分数、负数</tip>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>//Rename PRESET=&quot;文件编号(支持分数、负数步长)&quot; WHENEXISTS=rename</instruction>
					<instruction />
					<instruction>Rename ADVANCED PRESET=&quot;文件编号(支持分数、负数步长)&quot;</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>数字+1</label>
				<tip>匹配文件名中的数字，增加 1</tip>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect </instruction>
					<instruction>//Rename TO &quot;*&quot;</instruction>
					<instruction>Rename TO &quot;*&quot; WHENEXISTS=rename</instruction>
					<instruction>@script Jscript</instruction>
					<instruction>var re = /(.*?)(\d+)(.*)/;</instruction>
					<instruction>function OnGetNewName(getNewNameData)</instruction>
					<instruction>{</instruction>
					<instruction>	var item = getNewNameData.item;</instruction>
					<instruction>	var nn = item.name_stem_m.match(re);</instruction>
					<instruction>	if (!nn) return;</instruction>
					<instruction>	var oLen = nn[2].length;</instruction>
					<instruction>	log(oLen);</instruction>
					<instruction>	</instruction>
					<instruction>	var n =nn[2]-0+1;//减0 是转换为数值类型</instruction>
					<instruction>	var nLen = n.toString().length;</instruction>
					<instruction>	if (nLen &lt; oLen)</instruction>
					<instruction>		n = Array(oLen-nLen+1).join(&quot;0&quot;) + n;//不足位数则前面补0</instruction>
					<instruction>	return nn[1]+n+nn[3]+item.ext;;</instruction>
					<instruction>}</instruction>
					<instruction />
					<instruction>function log(str){DOpus.Output(str,false,true);}</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>固定位置插入序号</label>
				<tip>用宏或正则表达式 都可行</tip>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>// 代表插入的位置，3代表数字位数，BY 后面是步长</instruction>
					<instruction>//Rename PATTERN &quot;(.{3})(.*)&quot; TO &quot;\1-[#3]-\2&quot; NUMBER 1 BY 1 REGEXP IGNOREEXT</instruction>
					<instruction />
					<instruction>//也可以用宏，等于高级重命名中勾选[宏操作]</instruction>
					<instruction>//https://docs.dopus.com/doku.php?id=reference:rename_macro_language</instruction>
					<instruction>//https://docs.dopus.com/doku.php?id=file_operations:renaming_files:advanced_rename:rename_actions:rename_macros</instruction>
					<instruction>//L3+A 表示从左(Left)起第3位置的右边插入字符A; R4+A 则是从右(Right)起 向左数第4位置的左边插入A</instruction>
					<instruction>//Rename MACRO R2+A</instruction>
					<instruction />
					<instruction>//在左起第3位置的右边插入2位数序号</instruction>
					<instruction>Rename MACRO L3+[#2] NUMBER 1 BY 1</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>文件编号(&amp;N)</label>
				<hotkeys>
					<chord>
						<key>capslock</key>
						<key>N</key>
					</chord>
				</hotkeys>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>Rename PRESET=&quot;文件编号&quot; AUTORENAME</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey="shift+alt+capslock" label_pos="right" textcol="none">
				<label>文件编号(无扩展名)(&amp;M)</label>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>Rename PRESET=&quot;文件编号(无扩展名)&quot; AUTORENAME</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none">
				<label>文件夹名开头附加文件数</label>
				<tip>仅对文件夹有效，在开头附加文件夹中的总文件数量</tip>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>// https://resource.dopus.com/t/rename-script-inquiry-rename-folder-to-have-number-of-files-within-it-added-to-the-folder-name/45103</instruction>
					<instruction>// 2023-07-22</instruction>
					<instruction />
					<instruction>@nodeselect </instruction>
					<instruction>Rename TO &quot;*&quot;</instruction>
					<instruction>@script Jscript</instruction>
					<instruction />
					<instruction>var re = /\[\d+\] (.*)/;//正则 匹配数字前缀 【数字 文件名】</instruction>
					<instruction>//var re = /(.*) \[\d+\]/;//正则 匹配数字后缀 【文件名 数字】</instruction>
					<instruction />
					<instruction>//========通过Everything获取文件总数，速度飞快且不卡========</instruction>
					<instruction>//https://www.voidtools.com/zh-cn/downloads/   下载 Everything 命令行接口 es.exe, 放到Everything.exe一起</instruction>
					<instruction>//https://www.voidtools.com/en-us/support/everything/command_line_interface/   英文版帮助 列出的参数更多</instruction>
					<instruction>//https://www.voidtools.com/zh-cn/support/everything/command_line_interface/  中文版帮助 一些参数没列出</instruction>
					<instruction>//https://www.voidtools.com/forum/viewtopic.php?t=15056</instruction>
					<instruction>//仅当前路径下的文件数filecount			es.exe -get-result-count file:parent:&quot;c:\windows&quot;</instruction>
					<instruction>//仅当前路径下的文件夹数dircount:			es.exe -get-result-count folder:parent:&quot;c:\windows&quot;</instruction>
					<instruction>//含子目录下的文件总数filecounttotal:		es.exe -get-result-count file:ancestor:&quot;c:\windows&quot;</instruction>
					<instruction>//文含子目录下的件夹总数dircounttotal:		es.exe -get-result-count folder:ancestor:&quot;c:\windows&quot;</instruction>
					<instruction />
					<instruction>//var wsh = new ActiveXObject(&apos;WScript.Shell&apos;);</instruction>
					<instruction>var fsu = DOpus.FSUtil();</instruction>
					<instruction>var stt = DOpus.Create().StringTools();</instruction>
					<instruction />
					<instruction>//var EV = &quot;C:\\Program Files\\Everything 1.5a\\Everything64.exe&quot;;//安装版的Everything.exe路径</instruction>
					<instruction>var EV = fsu.Resolve(&quot;/Everything.exe&quot;);//Everything.exe的路径，可改为各人电脑上的实际路径，es.exe 也要在一起</instruction>
					<instruction>var exeES = &quot;&quot;;</instruction>
					<instruction>if (!fsu.Exists(EV)) {</instruction>
					<instruction>	log(&apos;&lt;font color=#FF0000&gt;Everything.exe 未找到!&lt;/font&gt;&apos;);</instruction>
					<instruction>	EV = &quot;&quot;;</instruction>
					<instruction>} else {</instruction>
					<instruction>	exeES = EV.pathpart + &apos;\\es.exe&apos;</instruction>
					<instruction>	if (!fsu.Exists(exeES)) {</instruction>
					<instruction>		log(&apos;&lt;font color=#FF0000&gt;es.exe 未找到!&lt;/font&gt;&apos;);</instruction>
					<instruction>		exeES = &quot;&quot;;</instruction>
					<instruction>	}</instruction>
					<instruction>}</instruction>
					<instruction>var EI = DOpus.Create.EverythingInterface;</instruction>
					<instruction>if (!EI.isrunning) {</instruction>
					<instruction>	log(&apos;&lt;font color=#FF0000&gt;Everything 未启动，请先运行它!&lt;/font&gt;&apos;);</instruction>
					<instruction>	EI=&quot;&quot;;</instruction>
					<instruction>}</instruction>
					<instruction />
					<instruction>var cmd = DOpus.Create.Command;</instruction>
					<instruction>cmd.SetModifier(&quot;noprogress&quot;);</instruction>
					<instruction>cmd.SetModifier(&quot;runmode&quot;, &quot;hide&quot;);//不显示命令行窗口</instruction>
					<instruction>var temp = fsu.GetTempFilePath(&quot;.txt&quot;);</instruction>
					<instruction />
					<instruction>function OnGetNewName(getNewNameData)</instruction>
					<instruction>{</instruction>
					<instruction>	if (!EV || !exeES || !EI) return;</instruction>
					<instruction>	var item = getNewNameData.item;</instruction>
					<instruction>	if (!item.is_dir) return;</instruction>
					<instruction>	var newName = &quot;&quot;;</instruction>
					<instruction>	var tmp = re.exec(item.name);</instruction>
					<instruction>	if (tmp != null &amp;&amp; tmp.length == 2) {</instruction>
					<instruction>		newName = tmp[1];//若已添加了[数字]前缀，则去掉此前缀</instruction>
					<instruction>	} else {</instruction>
					<instruction>		//====写入临时文件========</instruction>
					<instruction>		var cmdl = &apos;cmd /c ( &quot;&apos; + exeES + &apos;&quot; -get-result-count file:ancestor:&quot;&apos; + item.realpath + &apos;&quot;&gt;&quot;&apos; + temp + &apos;&quot; )&apos;;</instruction>
					<instruction>		//wsh.run(cmdl, 0, true);//0 隐藏窗口，1 激活窗口; true 需等待该命令执行完毕, false 不等待</instruction>
					<instruction>		cmd.RunCommand(&apos;@sync:&apos; + cmdl);//必须用 @sync: 同步执行命令，等待执行完毕再继续往下走</instruction>
					<instruction>		var tempFile = fsu.GetItem(temp).Open();</instruction>
					<instruction>		if (tempFile.error) return;</instruction>
					<instruction>		var text = stt.Decode(tempFile.Read(), &apos;utf8&apos;);</instruction>
					<instruction>		tempFile.Close();</instruction>
					<instruction />
					<instruction>		//====不写入临时文件的方案： |clip 定向输出到剪贴板作为中转====</instruction>
					<instruction>		//DOpus.SetClip();</instruction>
					<instruction>		//var cmdline = &apos;cmd /c ( &quot;&apos;+exeES+&apos;&quot; -get-result-count file:ancestor:&quot;&apos;+item.realpath+&apos;&quot;|clip )&apos;;</instruction>
					<instruction>		</instruction>
					<instruction>		//====1.用DO的command对象执行命令====</instruction>
					<instruction>		//cmd.RunCommand(&apos;@sync:&apos; + cmdline);//必须用 @sync: 同步执行命令，等待执行完毕再继续往下走</instruction>
					<instruction>		//DOpus.Delay(200);//前面用了 @sync 此行就不需要了</instruction>
					<instruction>		</instruction>
					<instruction>		//====2.用 wsh.run 执行命令====</instruction>
					<instruction>		//wsh.run(cmdline, 0, true);</instruction>
					<instruction />
					<instruction>		//var text = DOpus.GetClip(&quot;text&quot;);//获取剪贴板</instruction>
					<instruction>		</instruction>
					<instruction>		text = text.trim();</instruction>
					<instruction>		if (text) {</instruction>
					<instruction>			newName = &apos;[&apos; + text + &apos;] &apos; + item.name;//数量作前缀</instruction>
					<instruction>			//newName = item.name + &apos; [&apos; + text + &apos;]&apos;;//数量作后缀</instruction>
					<instruction>		}</instruction>
					<instruction>	}</instruction>
					<instruction>	return newName;</instruction>
					<instruction>}</instruction>
					<instruction />
					<instruction />
					<instruction>/*========用系统文件对象获取数量，不递归子文件夹========</instruction>
					<instruction>var fso = new ActiveXObject(&apos;Scripting.FileSystemObject&apos;);</instruction>
					<instruction>function OnGetNewName(getNewNameData)</instruction>
					<instruction>{</instruction>
					<instruction>	var item = getNewNameData.item;</instruction>
					<instruction>	if (!item.is_dir) return;</instruction>
					<instruction>	var tmp = re.exec(item.name);</instruction>
					<instruction>	var newName = &quot;&quot;;</instruction>
					<instruction>	if (tmp != null &amp;&amp; tmp.length == 2) {</instruction>
					<instruction>		newName = tmp[1];</instruction>
					<instruction>	} else {</instruction>
					<instruction>		newName = &apos;[&apos; + fso.GetFolder(item).Files.count + &apos;] &apos; + item.name;//数量作前缀</instruction>
					<instruction>		//newName = item.name + &apos; [&apos; + fso.GetFolder(item).Files.count + &apos;]&apos;;//数量作后缀</instruction>
					<instruction>	}</instruction>
					<instruction>	</instruction>
					<instruction>	return newName;</instruction>
					<instruction>}</instruction>
					<instruction>*/</instruction>
					<instruction />
					<instruction />
					<instruction>/*========用DO脚本对象获取总文件数量，递归子文件夹，文件太多会耗时许久切可能卡住========</instruction>
					<instruction>function OnGetNewName(getNewNameData)</instruction>
					<instruction>{</instruction>
					<instruction>	var item = getNewNameData.item;</instruction>
					<instruction>	if (!item.is_dir) return;</instruction>
					<instruction>	var tmp = re.exec(item.name);</instruction>
					<instruction>	var newName = &quot;&quot;;</instruction>
					<instruction>	if (tmp != null &amp;&amp; tmp.length == 2) {</instruction>
					<instruction>		newName = tmp[1];</instruction>
					<instruction>	} else {</instruction>
					<instruction>		var folderEnum = fsu.ReadDir(item.realpath, &quot;rlp&quot;);</instruction>
					<instruction>		var n = 0;</instruction>
					<instruction>		while (!folderEnum.complete)</instruction>
					<instruction>		{</instruction>
					<instruction>			var folderItem = folderEnum.Next();</instruction>
					<instruction>			if (!folderItem.is_dir)</instruction>
					<instruction>				n++;</instruction>
					<instruction>		}</instruction>
					<instruction>		newName = &apos;[&apos; + n + &apos;] &apos; + item.name;//数量作前缀</instruction>
					<instruction>		//newName = item.name + &apos; [&apos; + n + &apos;]&apos;;//数量作后缀</instruction>
					<instruction>	}</instruction>
					<instruction>	return newName;</instruction>
					<instruction>}</instruction>
					<instruction>*/</instruction>
					<instruction />
					<instruction>function log(str){DOpus.Output(str,true,true);}</instruction>
					<instruction>String.prototype.trim = function() {</instruction>
					<instruction>	return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, &apos;&apos;);</instruction>
					<instruction>};</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>查找字符替换为空(&amp;E)</label>
				<tip>默认获取剪切板文本</tip>
				<hotkeys>
					<chord>
						<key>capslock</key>
						<key>E</key>
					</chord>
				</hotkeys>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>//[一-鿦]  匹配汉字</instruction>
					<instruction>Rename PATTERN &quot;{dlgstringS|&quot;输入要替换的字符 或 正则表达式\n示例：^\d{2} → 开头两位数字     \(1\)$ → 末尾的(1)\n. 任意字符 | \d 数字 \D 非数字 | \s 空格 | \w [a-zA-Z_0-9]\n[ ] 字符集内匹配1个 | [^a] 非a | (abc) 字符组合 | (a|b) a或b\n{2,5} 重复2至5次 | + ={1,} | ? ={0,1} | * =重复任意次&quot;|{clip}}&quot; TO FINDREP REGEXP IGNOREEXT</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>去掉扩展名(&amp;/)</label>
				<hotkeys>
					<chord>
						<key>capslock</key>
						<key>backspace</key>
					</chord>
				</hotkeys>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect </instruction>
					<instruction>Rename PATTERN *.* TO * WHENEXISTS=rename</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>修改扩展名(&amp;Z)</label>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>//Rename FINDREP=ext PATTERN=&quot;jpg&quot; TO=&quot;jpeg&quot;</instruction>
					<instruction />
					<instruction>@set ext={dlgstringS|请输入新的扩展名，如： bat ahk js vbs ini json lua xml|bat}</instruction>
					<instruction>//没有扩展名的无法新增</instruction>
					<instruction>Rename FINDREP=ext PATTERN=&quot;{file$|ext2}&quot; TO=&quot;{$ext}&quot;</instruction>
					<instruction>Rename CASE=extlower</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>去掉尾部的 (n)  _2 复制(&amp;0)</label>
				<tip>例如：同名产生的 (1), 复制文件产生的&quot; - 复制&quot;</tip>
				<hotkeys>
					<chord>
						<key>capslock</key>
						<key>0</key>
					</chord>
				</hotkeys>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>//Rename PATTERN &quot;\s*-*\(\d+\)$&quot; TO FINDREP REGEXP IGNOREEXT</instruction>
					<instruction>//Rename PATTERN &quot;\s*(_\d+)*(- 复制)*(\(\d+\))*$&quot; TO FINDREP REGEXP IGNOREEXT</instruction>
					<instruction>Rename PATTERN &quot;\s*(_\d)*\s*(- 复制)*\s*(\(\d+\))*$&quot; TO FINDREP REGEXP IGNOREEXT</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" separate="yes" textcol="none">
				<label>去掉首尾空格，合并连续空格</label>
				<tip>DO允许以空格开头的文件名，导致不那么美观 (Win资管是不允许的)</tip>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>Rename PATTERN &quot;\s{2,}&quot; TO &quot; &quot; FINDREP REGEXP IGNOREEXT</instruction>
					<instruction>Rename PATTERN &quot;(^\s*|\s*$)&quot; TO FINDREP REGEXP IGNOREEXT</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>替换 -或_或+ 为空格</label>
				<hotkeys>
					<chord>
						<key>capslock</key>
						<key>space</key>
					</chord>
				</hotkeys>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>Rename PRESET=&quot;替换 -或_或+ 为空格&quot;</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>替换空格为下划线(&amp;-)</label>
				<hotkeys>
					<chord>
						<key>capslock</key>
						<key>189,0</key>
					</chord>
				</hotkeys>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>Rename PRESET=&quot;替换空格为下划线&quot;</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" separate="yes" textcol="none">
				<label>替换下划线为点(&amp;.)</label>
				<tip>Replace _ with . </tip>
				<hotkeys>
					<chord>
						<key>capslock</key>
						<key>190,0</key>
					</chord>
				</hotkeys>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>Rename PATTERN _ TO . FINDREP REGEXP IGNOREEXT</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>单词首字母大写(&amp;S)</label>
				<hotkeys>
					<chord>
						<key>capslock</key>
						<key>S</key>
					</chord>
				</hotkeys>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect </instruction>
					<instruction>Rename CASE=allwords</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>字母全小写(&amp;X)</label>
				<hotkeys>
					<chord>
						<key>capslock</key>
						<key>X</key>
					</chord>
				</hotkeys>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>Rename CASE=lower</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>字母全大写(&amp;D)</label>
				<hotkeys>
					<chord>
						<key>capslock</key>
						<key>D</key>
					</chord>
				</hotkeys>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect </instruction>
					<instruction>Rename CASE=upper</instruction>
					<instruction>Rename CASE=extlower</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" separate="yes" textcol="none">
				<label>扩展名小写(&amp;K)</label>
				<hotkeys>
					<chord>
						<key>capslock</key>
						<key>K</key>
					</chord>
				</hotkeys>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>Rename CASE=extlower</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>用首行文本重命名(&amp;L)</label>
				<tip>按正确编码读取文本文件的首行来重命名</tip>
				<hotkeys>
					<chord>
						<key>capslock</key>
						<key>L</key>
					</chord>
				</hotkeys>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect </instruction>
					<instruction>Rename PATTERN * TO * </instruction>
					<instruction />
					<instruction>@script JScript</instruction>
					<instruction>//var fso = new ActiveXObject(&quot;Scripting.FileSystemObject&quot;);</instruction>
					<instruction>//var StrTools = DOpus.Create.StringTools;</instruction>
					<instruction>var wsh = new ActiveXObject(&quot;WScript.Shell&quot;);</instruction>
					<instruction>var uchardet = DOpus.FSUtil.Resolve(&quot;/Extools\\Utility\\uchardet\\uchardet.exe&quot;)</instruction>
					<instruction>var stream = new ActiveXObject(&apos;Adodb.Stream&apos;);</instruction>
					<instruction>//HKEY_CLASSES_ROOT\MIME\Database\Codepage	查看本机支持的编码CodePage代码页 </instruction>
					<instruction>//https://learn.microsoft.com/en-us/windows/win32/intl/code-page-identifiers  所有代码页</instruction>
					<instruction />
					<instruction>//用 indexOf 判断并不严谨，因为 .a 会匹配到 .asp； 可将.ext变为.ext. 后面加个.</instruction>
					<instruction>var Extensions = &quot;&quot; +</instruction>
					<instruction>	&quot;.csv.rdf.url.lng.torrent.inc.tpl.reg.btm.ncl.m3u.pls.cue.pys&quot; +</instruction>
					<instruction>	&quot;.ps1.psm1.asp.aspx.asax.ascx.ashx.bat.cmd.c.h.cs.cpp.hpp.cc.c++&quot; +</instruction>
					<instruction>	&quot;.css.ini.inf.pas.dproj.bdsproj.dpr.dpk.dfm.fmx.nfm.xfm.lfm.e.groovy&quot; +</instruction>
					<instruction>	&quot;.html.htm.shtml.hta.jsl.java.jav.jsp.js.jsx.jse.json.pl.pm&quot; +</instruction>
					<instruction>	&quot;.plex.php.php4.phtml.py.pyw.rb.rbx.erb.resx.sql.tcl.txt.config&quot; +</instruction>
					<instruction>	&quot;.vbs.frm.vb.bas.xml.dtd.xhtml.xsl.xslt.wpl.xsd.xs.cfg.readme.guide.ans.ascii&quot;</instruction>
					<instruction>	+&quot;.&quot;;</instruction>
					<instruction />
					<instruction>function OnGetNewName(getNewNameData)</instruction>
					<instruction>{</instruction>
					<instruction>	if (!IsValidTextFile(getNewNameData.item)) {</instruction>
					<instruction>		DOpus.Output(&quot;Error  [&quot;+getNewNameData.item.name+&quot;] no valid text file&quot;);</instruction>
					<instruction>		return true;</instruction>
					<instruction>	}</instruction>
					<instruction>	else{</instruction>
					<instruction>		var itemResult = fileEncoding(getNewNameData.item);</instruction>
					<instruction>		if ( itemResult.encoding == &quot;unknown&quot;){</instruction>
					<instruction>			DOpus.Output(&quot;Encoding is unknown:  &quot; + getNewNameData.item.name);</instruction>
					<instruction>			return true;</instruction>
					<instruction>		}</instruction>
					<instruction>		else if ( itemResult.encoding.toLowerCase().indexOf(&quot;utf-32&quot;) != -1 ){</instruction>
					<instruction>			DOpus.Output(&quot;Encoding utf-32 is not supported:  &quot; + getNewNameData.item.name);</instruction>
					<instruction>			return true;</instruction>
					<instruction>		}</instruction>
					<instruction>		else if (itemResult.firstline == &quot;&quot;) {</instruction>
					<instruction>			DOpus.Output(&quot;No text obtained:  &quot; + getNewNameData.item.name);</instruction>
					<instruction>			return true;</instruction>
					<instruction>		}</instruction>
					<instruction>		else {</instruction>
					<instruction>			DOpus.Output(&quot;原文件名: &quot; + getNewNameData.item.name+ &quot;\n首行文本: &quot; + itemResult.firstline);</instruction>
					<instruction>			return itemResult.firstline + getNewNameData.item.ext;</instruction>
					<instruction>		}</instruction>
					<instruction>			</instruction>
					<instruction>	}</instruction>
					<instruction>}</instruction>
					<instruction />
					<instruction>//没用上的代码</instruction>
					<instruction>/*</instruction>
					<instruction>function getFirstLine(data, encode){</instruction>
					<instruction>	//if (!IsValidTextFile(data.item)) return;</instruction>
					<instruction>	var content = &quot;&quot;;</instruction>
					<instruction>	var file = objFS.OpenTextFile( data.item.realpath, 1, -2); // Read, UseDefaultEncoding</instruction>
					<instruction>	if (!file.AtEndOfStream) content = file.ReadLine();</instruction>
					<instruction>	file.Close();</instruction>
					<instruction>	return content;</instruction>
					<instruction>}</instruction>
					<instruction>*/</instruction>
					<instruction />
					<instruction>function GetEncoding(filePath, size){</instruction>
					<instruction>	var result = { err:false, msg:&quot;&quot;, encoding:&quot;&quot;, firstline:&quot;&quot;};</instruction>
					<instruction>	if (0);</instruction>
					<instruction>	else if (typeof size != &quot;undefined&quot; &amp;&amp; size == 0){ result.msg = &quot;empty&quot;; result.err = true; }</instruction>
					<instruction>	else if (typeof size != &quot;undefined&quot; &amp;&amp; size &lt; 4) { result.msg = &quot;too small&quot;; result.err = true; }</instruction>
					<instruction>	if (result.err) return result;</instruction>
					<instruction />
					<instruction>	var file = DOpus.FSUtil.OpenFile(filePath);</instruction>
					<instruction>	if (file.error){ result.msg = &quot;cannot open file&quot;; result.err = true; return result; }</instruction>
					<instruction>	var blob = DOpus.Create.Blob(0,0,0,0); //prefill with 4 zero bytes</instruction>
					<instruction>	blob.Resize(600)</instruction>
					<instruction>	var bytesRead = file.Read(blob, 600); file.Close();</instruction>
					<instruction>	if (bytesRead&lt;4){ result.msg = &quot;too small&quot;; result.err = true; return result; }</instruction>
					<instruction />
					<instruction>	if (0);</instruction>
					<instruction>	else if (blob(0)==0xEF &amp;&amp; blob(1)==0xBB &amp;&amp; blob(2)==0xBF &amp;&amp; blob(3)!=0x00) result.encoding = &quot;UTF-8&quot;;//UTF-8 BOM</instruction>
					<instruction>	else if (blob(0)!=0x00 &amp;&amp; blob(1)==0x00 &amp;&amp; blob(2)!=0x00 &amp;&amp; blob(3)==0x00) result.encoding = &quot;UTF-16&quot;;//UTF-16 LE NoBOM</instruction>
					<instruction>	else if (blob(0)==0x00 &amp;&amp; blob(1)!=0x00 &amp;&amp; blob(2)==0x00 &amp;&amp; blob(3)!=0x00) result.encoding = &quot;UTF-16BE&quot;;//UTF-16 BE NoBOM</instruction>
					<instruction>	else if (blob(0)==0xFF &amp;&amp; blob(1)==0xFE &amp;&amp; blob(2)==0x00 &amp;&amp; blob(3)==0x00) result.encoding = &quot;UTF-32&quot;;//UTF-32 LE BOM</instruction>
					<instruction>	else if (blob(0)==0x00 &amp;&amp; blob(1)==0x00 &amp;&amp; blob(2)==0xFE &amp;&amp; blob(3)==0xFF) result.encoding = &quot;UTF-32BE&quot;;//UTF-32 BE BOM</instruction>
					<instruction>	//else if (blob(0)==0xFF &amp;&amp; blob(1)==0xFE &amp;&amp; blob(2)!=0x00 &amp;&amp; blob(3)==0x00) result.encoding = &quot;UTF-16&quot;;//UTF-16 LE BOM</instruction>
					<instruction>	//else if (blob(0)==0xFE &amp;&amp; blob(1)==0xFF &amp;&amp; blob(2)==0x00 &amp;&amp; blob(3)!=0x00) result.encoding = &quot;UTF-16BE&quot;;//UTF-16 BE BOM</instruction>
					<instruction>	else if (blob(0)==0xFF &amp;&amp; blob(1)==0xFE) result.encoding = &quot;UTF-16&quot;;//UTF-16 LE BOM</instruction>
					<instruction>	else if (blob(0)==0xFE &amp;&amp; blob(1)==0xFF) result.encoding = &quot;UTF-16BE&quot;;//UTF-16 BE BOM</instruction>
					<instruction>	//else result.encoding = &quot;?&quot;;</instruction>
					<instruction>	else {</instruction>
					<instruction>		//result.encoding = wsh.exec(uchardet +&apos; &quot;&apos;+filePath+&apos;&quot;&apos;).StdOut.ReadAll();//会弹黑框cmd,改用下面的管道|clip</instruction>
					<instruction>		if(DOpus.FSUtil.Exists(uchardet)){</instruction>
					<instruction>			wsh.run(&quot;cmd /c &quot; + uchardet +&quot; \&quot;&quot;+filePath+&quot;\&quot;|clip&quot;, 0, true);</instruction>
					<instruction>			result.encoding = DOpus.GetClip(&quot;text&quot;).slice(0,-2);//去掉尾部换行符</instruction>
					<instruction>			//DOpus.Output(result.encoding.charCodeAt(result.encoding.length-1));</instruction>
					<instruction>			//DOpus.Output(String.fromCharCode(112, 10, 97));</instruction>
					<instruction>		}</instruction>
					<instruction>		else {</instruction>
					<instruction>			result.encoding = &quot;unknown&quot;;</instruction>
					<instruction>			DOpus.Output(&quot;uchardet 路径无效&quot;);</instruction>
					<instruction>		}</instruction>
					<instruction>	}</instruction>
					<instruction />
					<instruction>	DOpus.Output(&quot;编码: &quot; + result.encoding);</instruction>
					<instruction>	if (result.encoding != &quot;unknown&quot; &amp;&amp; result.encoding.toLowerCase().indexOf(&quot;utf-32&quot;) == -1 ) {</instruction>
					<instruction>		//result.firstline = DOpus.Create.StringTools.Decode( blob, &quot;utf-8&quot; );//支持的编码少，不支持utf-32，改用ActiveXObject(&apos;Adodb.Stream&apos;)</instruction>
					<instruction>		var arr =blob.ToArray();</instruction>
					<instruction>		stream.Mode=3;//ReadWrite</instruction>
					<instruction>		stream.Type = 1;//Binary byte</instruction>
					<instruction>		stream.Open();</instruction>
					<instruction>		stream.Write(arr);</instruction>
					<instruction>	    stream.Position = 0;</instruction>
					<instruction>		stream.Type = 2;//text</instruction>
					<instruction>		//Charset Not currently supported：(CodePage: 12000; Name: &apos;utf-32&apos;) //Unicode UTF-32, little endian byte order; available only to managed applications</instruction>
					<instruction>		//Charset Not currently supported：(CodePage: 12001; Name: &apos;utf-32BE&apos;) //Unicode UTF-32, big endian byte order; available only to managed applications</instruction>
					<instruction>	    stream.Charset = result.encoding;//result.encoding  &quot;utf-8&quot; &quot;utf-16&quot; &quot;GB2312&quot;(ANSI) &quot;ASCII&quot;</instruction>
					<instruction>	    result.firstline = stream.ReadText();</instruction>
					<instruction>	    stream.Close();</instruction>
					<instruction>	}</instruction>
					<instruction>	//DOpus.Output(result.firstline);</instruction>
					<instruction>	if (result.firstline) result.firstline = IllegalReplace(result.firstline);</instruction>
					<instruction>	//DOpus.Output(&quot;\n\n 截取后：\n&quot; + result.firstline);</instruction>
					<instruction>	return result;</instruction>
					<instruction>}</instruction>
					<instruction />
					<instruction>function fileEncoding(item){</instruction>
					<instruction>	var result = GetEncoding(item.realpath, item.size);</instruction>
					<instruction>	if (!result.err) return result;</instruction>
					<instruction>	if (result.err) DOpus.Output(&quot;Error  [&quot;+item.name+&quot;] &quot; + error.msg);</instruction>
					<instruction>}</instruction>
					<instruction />
					<instruction>//文件名无效字符处理</instruction>
					<instruction>//文件名中不允许的字符: \/|&lt;&gt;:*?&quot;</instruction>
					<instruction>//文件名最长为251个字符，但超过246个字符，某些软件不能正常操作文件名</instruction>
					<instruction>function IllegalReplace(line){</instruction>
					<instruction>	line = line.replace(/^\s*/, &quot;&quot;);//删除前面的不可见字符</instruction>
					<instruction>	line = line.match(/^.+$/m)[0];//匹配一行</instruction>
					<instruction>	//DOpus.Output(typeof(line));</instruction>
					<instruction>	line = line.replace(/[\|\\\/:]+/g, &quot;_&quot;);//替换无效字符</instruction>
					<instruction>	line = line.replace(/&lt;/g, &quot;[&quot;).replace(/&gt;/g, &quot;]&quot;);//替换无效字符</instruction>
					<instruction>	line = line.replace(/[\*\?&quot;]+/g, &quot;&quot;);//替换无效字符</instruction>
					<instruction>	line = line.replace(/(^\s*|\s*$)/g, &quot;&quot;);//删除前后空格</instruction>
					<instruction>	line = line.slice(0,160);//避免文件名过长</instruction>
					<instruction>	return line;</instruction>
					<instruction>}</instruction>
					<instruction />
					<instruction>function IsValidTextFile(doItem){</instruction>
					<instruction>	if (doItem.is_dir) return false;</instruction>
					<instruction>	else if (doItem.ext == &quot;&quot;) {</instruction>
					<instruction>		DOpus.Output(&quot;Error  [&quot;+doItem.name+&quot;] no extension&quot;);</instruction>
					<instruction>		return false;</instruction>
					<instruction>	}</instruction>
					<instruction>	else if (Extensions.indexOf((doItem.ext+&quot;.&quot;).toLowerCase())==-1) {</instruction>
					<instruction>		DOpus.Output(&quot;Error  [&quot;+doItem.name+&quot;] extension unknown&quot;);</instruction>
					<instruction>		return false;</instruction>
					<instruction>	}</instruction>
					<instruction>	return true;</instruction>
					<instruction>}</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>中文繁体转简体(&amp;J)</label>
				<hotkeys>
					<chord>
						<key>capslock</key>
						<key>J</key>
					</chord>
				</hotkeys>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>Rename PRESET=&quot;中文繁体转简体&quot;</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>中文简体转繁体</label>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>Rename PRESET=&quot;中文简体转繁体&quot;</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>全角转半角</label>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>Rename PRESET=&quot;全角转半角&quot;</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>汉字转为拼音全拼(&amp;P)</label>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>//Rename PRESET=&quot;汉字转为拼音(全拼)&quot;</instruction>
					<instruction>Rename ADVANCED PRESET=&quot;汉字转为拼音(全拼)&quot;</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>中文、数字互换位置</label>
				<tip>适用于前中文+后数字的文件名\n按住Ctrl+点击 则反置</tip>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect </instruction>
					<instruction>//中文、数字互换位置</instruction>
					<instruction>@keydown:none</instruction>
					<instruction>Rename PATTERN &quot;([一-鿦]+)(\d+)&quot; TO &quot;\2\1&quot; REGEXP IGNOREEXT</instruction>
					<instruction>//数字、中文互换位置</instruction>
					<instruction>@keydown:ctrl</instruction>
					<instruction>Rename PATTERN &quot;(\d+)([一-鿦]+)&quot; TO &quot;\2\1&quot; REGEXP IGNOREEXT</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none">
				<label>编码转换</label>
				<tip>繁体大五码、日语、韩语乱码与中文互相转换</tip>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>Rename ADVANCED PRESET=&quot;编码转换&quot;</instruction>
					<instruction />
					<instruction>//不弹对话框，Encoding的值:	0=UTF-8 1=简中 2=繁中 3=日语 4=韩语</instruction>
					<instruction>//Rename PRESET=&quot;编码转换&quot; SCRIPTARG srcEncoding:1 dstEncoding:3</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>给子文件加上父名前缀</label>
				<tip>对选定文件夹内的所有子文件递归重命名，加上父文件夹名前缀</tip>
				<icon1>#rename2</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>Rename PATTERN * TO {parent}-* RECURSE IGNOREEXT</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>父改选文名</label>
				<tip>父文件夹改名成选中文件的名称</tip>
				<icon1>#extract</icon1>
				<function type="normal">
					<instruction>@firstfileonly</instruction>
					<instruction>@nodeselect</instruction>
					<instruction>@disablenosel </instruction>
					<instruction>Rename {filepath$|..|noterm} TO {file$|noext}</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none" type="menu_button">
				<label>文件改父名(&amp;F)</label>
				<tip>选中单个文件改名为父文件夹名</tip>
				<icon1>#clippasteshortcut</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>@firstfileonly </instruction>
					<instruction>Rename TO=&quot;{parent}.{ext}&quot;</instruction>
					<instruction>//Clipboard COPYNAMES=nopaths REGEXP &quot;(.*)\.(.*)&quot; &quot;\1&quot;</instruction>
				</function>
				<button backcol="none" display="both" textcol="none">
					<label>上一层</label>
					<icon1>J:\文件夹变色图标ICO\底版-字母+数字\1.png,0</icon1>
					<function type="normal">
						<instruction>@nodeselect</instruction>
						<instruction>Rename TO=&quot;{parent2}.{ext}&quot;</instruction>
						<instruction>//Clipboard COPYNAMES=nopaths REGEXP &quot;(.*)\.(.*)&quot; &quot;\1&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="both" textcol="none">
					<label>上二层</label>
					<icon1>J:\文件夹变色图标ICO\底版-字母+数字\2.png,0</icon1>
					<function type="normal">
						<instruction>@nodeselect</instruction>
						<instruction>Rename TO=&quot;{parent3}.{ext}&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="both" textcol="none">
					<label>上三层</label>
					<icon1>J:\文件夹变色图标ICO\底版-字母+数字\3.png,0</icon1>
					<function type="normal">
						<instruction>@nodeselect</instruction>
						<instruction>Rename TO=&quot;{parent4}.{ext}&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="both" textcol="none">
					<label>上四层</label>
					<icon1>J:\文件夹变色图标ICO\底版-字母+数字\4.png,0</icon1>
					<function type="normal">
						<instruction>@nodeselect</instruction>
						<instruction>Rename TO=&quot;{parent5}.{ext}&quot;</instruction>
					</function>
				</button>
			</button>
		</button>
		<button always_enable="yes" backcol="none" display="both" hotkey="ctrl+1" hotkey_label="yes" label_pos="right" textcol="none" type="menu_button">
			<label>复制文件(&amp;C)</label>
			<tip>复制所有选定的文件和文件夹到目标窗口</tip>
			<icon1>#copy</icon1>
			<function type="normal">
				<instruction>@icon:recursivefilter,Set COPYFILTER=Toggle</instruction>
				<instruction>@keydown:none</instruction>
				<instruction>Copy</instruction>
				<instruction>@keydown:shift</instruction>
				<instruction>Copy AS</instruction>
			</function>
			<button always_enable="yes" backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>复制文件(&amp;C)</label>
				<tip>复制所有选定的文件和文件夹到目标窗口</tip>
				<icon1>#copy</icon1>
				<function type="normal">
					<instruction>@icon:recursivefilter,Set COPYFILTER=Toggle</instruction>
					<instruction>@keydown:none</instruction>
					<instruction>Copy</instruction>
					<instruction>@keydown:shift</instruction>
					<instruction>Copy AS</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey="ctrl+shift+1" hotkey_label="yes" label_pos="right" textcol="none">
				<label>复制为</label>
				<tip>复制所有选定的文件和文件夹到目标窗口并将其重命名</tip>
				<icon1>#copyas</icon1>
				<function type="normal">
					<instruction>Copy AS</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>创建副本</label>
				<tip>在源窗口中创建所有选中的文件和文件夹的副本</tip>
				<icon1>#duplicate</icon1>
				<function type="normal">
					<instruction>Copy DUPLICATE</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none">
				<label>复制为以日期命名的名称</label>
				<tip>复制所有选定的文件和文件夹，将当前日期和时间附加到其名称中</tip>
				<icon1>#duplicate</icon1>
				<function type="normal">
					<instruction>Copy DUPLICATE PATTERN * AS &quot;* - {date|D#yyyy-MM-dd} {time|T#HH-mm-ss}&quot; IGNOREEXT</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>更新所有(&amp;U)</label>
				<tip>从源到目标更新（复制）所有已更改（具有最新时间戳）或根本不存在的文件</tip>
				<icon1>#updateall</icon1>
				<function type="normal">
					<instruction>Copy UPDATEALL</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none">
				<label>更新已有(&amp;P)</label>
				<tip>从源到目标更新（复制）所有已更改的现有文件（具有最新的时间戳）</tip>
				<icon1>#updateexisting</icon1>
				<function type="normal">
					<instruction>Copy UPDATEEXISTING</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>创建快捷方式</label>
				<tip>在目标创建指向源内所选项目的快捷方式</tip>
				<icon1>#shortcut</icon1>
				<function type="normal">
					<instruction>Copy MAKELINK</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none" type="menu">
				<label>创建高级链接</label>
				<icon1>#shortcut</icon1>
				<button backcol="none" display="label" label_pos="right" textcol="none">
					<label>创建自动化</label>
					<tip>自动选择软链接，交接点，硬链接或快捷方式类型以在目标内创建指向源的所选项目</tip>
					<function type="normal">
						<instruction>Copy MAKELINK=auto</instruction>
					</function>
				</button>
				<button backcol="none" display="label" label_pos="right" textcol="none">
					<label>创建自动化(避免软链接)</label>
					<tip>在目标创建文件夹的交接点或快捷方式，文件的硬链接或快捷方式以指向源内所选项目</tip>
					<function type="normal">
						<instruction>Copy MAKELINK=autonosoft</instruction>
					</function>
				</button>
				<button backcol="none" display="label" label_pos="right" textcol="none">
					<label>创建交接点</label>
					<tip>在目标创建指向源内所选文件夹的交接点</tip>
					<function type="normal">
						<instruction>Copy MAKELINK=junction</instruction>
					</function>
				</button>
				<button backcol="none" display="label" label_pos="right" textcol="none">
					<label>创建相对软链接</label>
					<tip>在目标创建指向源内所选项目的软链接，如果可能则使用相对路径</tip>
					<function type="normal">
						<instruction>Copy MAKELINK=relsoftlink</instruction>
					</function>
				</button>
				<button backcol="none" display="label" label_pos="right" textcol="none">
					<label>创建软链接</label>
					<tip>在目标使用绝对路径创建指向源内所选项目的软链接</tip>
					<function type="normal">
						<instruction>Copy MAKELINK=softlink</instruction>
					</function>
				</button>
				<button backcol="none" display="label" label_pos="right" textcol="none">
					<label>创建硬链接</label>
					<tip>在目标创建指向源内所选文件的硬链接</tip>
					<function type="normal">
						<instruction>Copy MAKELINK=hardlink</instruction>
					</function>
				</button>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none">
				<label>发送到</label>
				<tip>显示系统发送到菜单</tip>
				<icon1>#copy</icon1>
				<function type="normal">
					<instruction>FileType SENDTOMENU</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>启用复制过滤器(&amp;O)</label>
				<tip>对复制操作做打开或关闭过滤器</tip>
				<icon1>#recursivefilter</icon1>
				<function type="normal">
					<instruction>Set COPYFILTER=Toggle</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>复制设置(&amp;Y)...</label>
				<tip>&quot;选项&quot;中&quot;复制设置&quot;页面的快捷方式</tip>
				<icon1>#prefs</icon1>
				<function type="normal">
					<instruction>Prefs PAGE=copyopts</instruction>
				</function>
			</button>
		</button>
		<button backcol="none" display="both" hotkey="ctrl+2" hotkey_label="yes" label_pos="right" textcol="none" type="menu_button">
			<label>移动(&amp;M)</label>
			<tip>将选定的文件与目录移动到目标窗口</tip>
			<icon1>#move</icon1>
			<function type="normal">
				<instruction>@keydown:none</instruction>
				<instruction>Copy MOVE</instruction>
				<instruction>@keydown:shift</instruction>
				<instruction>Copy MOVE AS</instruction>
			</function>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>移动(&amp;M)</label>
				<tip>将选定的文件与目录移动到目标窗口</tip>
				<icon1>#move</icon1>
				<function type="normal">
					<instruction>@keydown:none</instruction>
					<instruction>Copy MOVE</instruction>
					<instruction>@keydown:shift</instruction>
					<instruction>Copy MOVE AS</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey="ctrl+shift+2" hotkey_label="yes" label_pos="right" separate="yes" textcol="none">
				<label>移动为</label>
				<tip>将选定的文件与目录移动到目标窗口并将其重命名</tip>
				<icon1>#moveas</icon1>
				<function type="normal">
					<instruction>Copy MOVE AS</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>移动到以日期命名的文件夹</label>
				<tip>移动选定的项目到新文件夹并用当前的日期和时间自动命名</tip>
				<icon1>#move</icon1>
				<function type="normal">
					<instruction>Copy MOVE HERE CREATEFOLDER=&quot;{date|yyyy-MM-dd} {time|HH-mm-ss}&quot;</instruction>
				</function>
			</button>
		</button>
		<button backcol="none" display="both" hotkey="ctrl+N" hotkey_label="yes" label_pos="right" separate="yes" textcol="none" type="menu_button">
			<label>新建文件夹(&amp;W)</label>
			<tip>新建文件夹</tip>
			<icon1>#makedir</icon1>
			<function type="normal">
				<instruction>CreateFolder</instruction>
			</function>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>新建文件夹(&amp;W)</label>
				<tip>新建文件夹</tip>
				<icon1>#makedir</icon1>
				<function type="normal">
					<instruction>CreateFolder</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey="ctrl+H" hotkey_label="yes" label_pos="right" textcol="none">
				<label>新建压缩文件(&amp;A)...</label>
				<tip>新建压缩文件</tip>
				<icon1>#newzipfile</icon1>
				<function type="normal">
					<instruction>CreateFolder ARCHIVE</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none">
				<label>移动到新文件夹</label>
				<tip>将所选项目移动到新的子文件夹中，首先提示输入名称</tip>
				<icon1>#move</icon1>
				<function type="normal">
					<instruction>Copy MOVE HERE CREATEFOLDER</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey="ctrl+O" hotkey_label="yes" label_pos="right" textcol="none">
				<label>新建文本文档</label>
				<tip>创建一个新的,空文本文件</tip>
				<icon1>#newtextfile</icon1>
				<function type="normal">
					<instruction>FileType NEW=.txt</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>新建文本文档 [增强版]</label>
				<tip>可选择多种文本编码 gb2312  utf-8 urf-16 等</tip>
				<icon1>#newtextfile</icon1>
				<function type="script">
					<instruction>@script JScript</instruction>
					<instruction>var fsu = DOpus.FSUtil;</instruction>
					<instruction>function log(str){DOpus.Output(str,false,true);}</instruction>
					<instruction />
					<instruction>function OnClick(clickData)</instruction>
					<instruction>{</instruction>
					<instruction>	var cmd = clickData.func.command;</instruction>
					<instruction>	cmd.deselect = false;</instruction>
					<instruction>	var lis = clickData.func.sourcetab.lister;</instruction>
					<instruction>	</instruction>
					<instruction>	var dlg=clickData.func.Dlg;</instruction>
					<instruction>	dlg.window = clickData.func.sourcetab;</instruction>
					<instruction>	dlg.template = &quot;SaveText&quot;</instruction>
					<instruction>	dlg.detach = true;</instruction>
					<instruction>	dlg.create;</instruction>
					<instruction>	dlg.control(&quot;edit_Content&quot;).value = &quot;&quot;;</instruction>
					<instruction>	dlg.control(&quot;edit_Content&quot;).focus = true;//编辑区默认激活焦点</instruction>
					<instruction>	dlg.control(&quot;combo_Ext&quot;).value = 0;//扩展名默认选择txt</instruction>
					<instruction>	dlg.control(&quot;combo_enc&quot;).value = 1;//编码默认选择utf-8 无bom</instruction>
					<instruction>	dlg.control(&quot;Combo_FileExists&quot;).value = 0;//默认选择加序号</instruction>
					<instruction>	//dlg.want_resize = true;</instruction>
					<instruction>	</instruction>
					<instruction>	dlg.show;</instruction>
					<instruction>	while(true){</instruction>
					<instruction>		var msg = dlg.GetMsg();</instruction>
					<instruction>		if(!msg.result) break;</instruction>
					<instruction />
					<instruction>		if(msg.event == &quot;click&quot; &amp;&amp; dlg.Control(&quot;ok&quot;).focus == true){</instruction>
					<instruction>			WriteFlie()</instruction>
					<instruction>		}</instruction>
					<instruction>	}</instruction>
					<instruction>	if (dlg.result ==  0) {</instruction>
					<instruction>		log(&quot;操作已取消.&quot;);</instruction>
					<instruction>		return;</instruction>
					<instruction>	}</instruction>
					<instruction>	/*</instruction>
					<instruction>	var result = dlg.RunDlg();</instruction>
					<instruction>	if (result ==  0) {  </instruction>
					<instruction>		log(&quot;操作已取消.&quot;);</instruction>
					<instruction>		return;  </instruction>
					<instruction>	}</instruction>
					<instruction>	*/</instruction>
					<instruction>	/*</instruction>
					<instruction>	var fso = new ActiveXObject(&quot;Scripting.FileSystemObject&quot;);</instruction>
					<instruction>	var a = fso.CreateTextFile(&quot;c:\\test.txt&quot;,true,true);</instruction>
					<instruction>	a.WriteLine(DOpus.GetClip());</instruction>
					<instruction>	a.Close();</instruction>
					<instruction>	*/</instruction>
					<instruction>  function WriteFlie(){</instruction>
					<instruction>  	lis.Update();</instruction>
					<instruction>	cmd.SetSourceTab(lis.activetab);</instruction>
					<instruction>	if(cmd.source.drive == 0) {//若在虚拟路径，如库或文件收集，不做操作)</instruction>
					<instruction>		log(&quot;当前路径不在常规本地磁盘，不可保存文档.&quot;)</instruction>
					<instruction>		return;</instruction>
					<instruction>	}</instruction>
					<instruction>	var filecontent = dlg.control(&quot;edit_Content&quot;).value;</instruction>
					<instruction>	if (filecontent.length == 0){</instruction>
					<instruction>		cmd.RunCommand(&quot;FileType NEW=.txt&quot;);</instruction>
					<instruction>		return;</instruction>
					<instruction>	}</instruction>
					<instruction>	//var datetime = DOpus.Create.Date;</instruction>
					<instruction>	//datetime = datetime.Format(&quot;D#yyyy-MM-dd_T#HHmmss&quot;);//获取当前时间</instruction>
					<instruction>	var fileName = dlg.Control(&quot;edit_Name&quot;).value;</instruction>
					<instruction>	var fileExt = dlg.Control(&quot;combo_Ext&quot;).label;</instruction>
					<instruction>	var fullPath = cmd.source + &quot;\\&quot; + fileName + &quot;.&quot; + fileExt;</instruction>
					<instruction>	log(&quot;新建文档: &quot; + fullPath)</instruction>
					<instruction>	var fileExistsAction = dlg.control(&quot;Combo_FileExists&quot;).value;</instruction>
					<instruction>	fileExistsAction = fileExistsAction.name;</instruction>
					<instruction>	var fileAppend = false;</instruction>
					<instruction>	if (fsu.Exists(fullPath)) {//若文件已存在</instruction>
					<instruction>		switch (fileExistsAction) {</instruction>
					<instruction>			case &quot;替换&quot;:</instruction>
					<instruction>				cmd.RunCommand(&apos;Delete &quot;&apos; + fullPath + &apos;&quot;&apos;);//删除文件，比覆盖好，有挽回余地</instruction>
					<instruction>				break;</instruction>
					<instruction>			case &quot;加序号&quot;:</instruction>
					<instruction>				fullPath = GenerateUniqueFilename(fullPath, fileName, fileExt, cmd.source);</instruction>
					<instruction>				break;</instruction>
					<instruction>			case &quot;追加&quot;:</instruction>
					<instruction>				fileAppend = true;</instruction>
					<instruction>				break;</instruction>
					<instruction>			case &quot;询问&quot;:</instruction>
					<instruction>				var askDlg = DOpus.Dlg;</instruction>
					<instruction>				askDlg.window = dlg;</instruction>
					<instruction>				askDlg.detach = false;</instruction>
					<instruction>				askDlg.message = &quot;文件已存在。您希望如何进行？&quot;;</instruction>
					<instruction>				askDlg.buttons = &quot;替换|加序号|追加|中止&quot;;</instruction>
					<instruction>				var askResult = askDlg.Show();</instruction>
					<instruction>				if (askResult ==  1) {//选择了替换</instruction>
					<instruction>					cmd.RunCommand(&apos;Delete &quot;&apos; + fullPath + &apos;&quot;&apos;);//删除文件，比覆盖好，有挽回余地</instruction>
					<instruction>				} else if (askResult ==  2) {//选择了加序号</instruction>
					<instruction>					fullPath = GenerateUniqueFilename(fullPath, fileName, fileExt, cmd.source);</instruction>
					<instruction>				} else if (askResult ==  3) {//选择了追加</instruction>
					<instruction>					fileAppend = true;</instruction>
					<instruction>				} else {</instruction>
					<instruction>					log(&quot;操作已取消.&quot;);</instruction>
					<instruction>					return;</instruction>
					<instruction>				}</instruction>
					<instruction>				break;</instruction>
					<instruction>			default:</instruction>
					<instruction>				log(&quot;未知选项，取消操作.&quot;);</instruction>
					<instruction>				return;</instruction>
					<instruction>		}</instruction>
					<instruction>	}</instruction>
					<instruction />
					<instruction>	var sfile = fsu.OpenFile(fullPath,&quot;wo&quot;);</instruction>
					<instruction>	if (sfile.error == 0) {</instruction>
					<instruction>		var encoding = dlg.control(&quot;combo_enc&quot;).value;</instruction>
					<instruction>		if(fileAppend){//如果选择了追加</instruction>
					<instruction>			sfile.Seek(0, &quot;e&quot;);//光标插入点移动到文件数据流末尾</instruction>
					<instruction>			//log(&quot;当前插入点字节位置: &quot; + sfile.tell)</instruction>
					<instruction>			if(dlg.control(&quot;check_Append&quot;).value){ //如果勾选了追加时换行</instruction>
					<instruction>				if(sfile.tell != 0) //如果插入点不是开头 则加上换行符</instruction>
					<instruction>					filecontent = &quot;\n&quot; + filecontent;</instruction>
					<instruction>			}</instruction>
					<instruction>		}</instruction>
					<instruction />
					<instruction>		var contentEncoded = DOpus.Create.StringTools.Encode(filecontent, encoding.name);</instruction>
					<instruction>		sfile.Write(contentEncoded);</instruction>
					<instruction>		sfile.Close();</instruction>
					<instruction>		var fname = fsu.GetItem(fullPath).name</instruction>
					<instruction>		cmd.RunCommand(&apos;Select EXACT MAKEVISIBLE=immediate &quot;&apos; + fname + &apos;&quot;&apos;);//选择新建的文件</instruction>
					<instruction>	} else {</instruction>
					<instruction>		log(&quot;创建文件失败!&quot;);</instruction>
					<instruction>		return;</instruction>
					<instruction>	}</instruction>
					<instruction>  }</instruction>
					<instruction>}</instruction>
					<instruction />
					<instruction>//如果已存在，生成唯一文件名</instruction>
					<instruction>function GenerateUniqueFilename(fullPath, fileName, fileExt, path) {</instruction>
					<instruction>	var baseName = fileName;</instruction>
					<instruction>	var counter =  0;</instruction>
					<instruction>	while (fsu.Exists(fullPath)) {</instruction>
					<instruction>		counter++;</instruction>
					<instruction>		fileName = baseName + (counter &gt;  1 ? &quot; (&quot; + counter + &quot;)&quot; : &quot;&quot;);</instruction>
					<instruction>		fullPath = path + &quot;\\&quot; + fileName + &quot;.&quot; + fileExt;</instruction>
					<instruction>	}</instruction>
					<instruction>	return fullPath;</instruction>
					<instruction>}</instruction>
					<instruction>==SCRIPT RESOURCES</instruction>
					<instruction>&lt;resources&gt;</instruction>
					<instruction>	&lt;resource name=&quot;SaveText&quot; type=&quot;dialog&quot;&gt;</instruction>
					<instruction>		&lt;dialog fontsize=&quot;10&quot; height=&quot;222&quot; lang=&quot;english&quot; resize=&quot;yes&quot; title=&quot;输入内容 -&gt; 选择编码 -&gt; 保存&quot; width=&quot;396&quot;&gt;</instruction>
					<instruction>			&lt;control halign=&quot;left&quot; height=&quot;12&quot; name=&quot;static1&quot; title=&quot;文件名:&quot; type=&quot;static&quot; valign=&quot;center&quot; width=&quot;22&quot; x=&quot;6&quot; y=&quot;6&quot; /&gt;</instruction>
					<instruction>			&lt;control halign=&quot;left&quot; height=&quot;12&quot; name=&quot;edit_Name&quot; resize=&quot;w&quot; title=&quot;新建文本文档&quot; type=&quot;edit&quot; width=&quot;270&quot; x=&quot;30&quot; y=&quot;6&quot; /&gt;</instruction>
					<instruction>			&lt;control halign=&quot;left&quot; height=&quot;12&quot; name=&quot;static2&quot; resize=&quot;x&quot; title=&quot;扩展名:&quot; type=&quot;static&quot; valign=&quot;center&quot; width=&quot;23&quot; x=&quot;312&quot; y=&quot;6&quot; /&gt;</instruction>
					<instruction>			&lt;control edit=&quot;yes&quot; height=&quot;40&quot; name=&quot;combo_Ext&quot; resize=&quot;x&quot; type=&quot;combo&quot; width=&quot;54&quot; x=&quot;336&quot; y=&quot;7&quot;&gt;</instruction>
					<instruction>				&lt;contents&gt;</instruction>
					<instruction>					&lt;item text=&quot;txt&quot; /&gt;</instruction>
					<instruction>					&lt;item text=&quot;ahk&quot; /&gt;</instruction>
					<instruction>					&lt;item text=&quot;bat&quot; /&gt;</instruction>
					<instruction>					&lt;item text=&quot;ini&quot; /&gt;</instruction>
					<instruction>					&lt;item text=&quot;json&quot; /&gt;</instruction>
					<instruction>					&lt;item text=&quot;md&quot; /&gt;</instruction>
					<instruction>					&lt;item text=&quot;js&quot; /&gt;</instruction>
					<instruction>					&lt;item text=&quot;xml&quot; /&gt;</instruction>
					<instruction>				&lt;/contents&gt;</instruction>
					<instruction>			&lt;/control&gt;</instruction>
					<instruction>			&lt;control halign=&quot;left&quot; height=&quot;168&quot; multiline=&quot;yes&quot; name=&quot;edit_Content&quot; resize=&quot;wh&quot; title=&quot;无内容时只能新建空的txt&quot; type=&quot;edit&quot; width=&quot;384&quot; x=&quot;6&quot; y=&quot;24&quot; /&gt;</instruction>
					<instruction>			&lt;control halign=&quot;left&quot; height=&quot;12&quot; name=&quot;static3&quot; resize=&quot;y&quot; title=&quot;文件已存在时:&quot; type=&quot;static&quot; valign=&quot;center&quot; width=&quot;43&quot; x=&quot;12&quot; y=&quot;198&quot; /&gt;</instruction>
					<instruction>			&lt;control height=&quot;40&quot; name=&quot;Combo_FileExists&quot; resize=&quot;y&quot; type=&quot;combo&quot; width=&quot;42&quot; x=&quot;57&quot; y=&quot;198&quot;&gt;</instruction>
					<instruction>				&lt;contents&gt;</instruction>
					<instruction>					&lt;item text=&quot;加序号&quot; /&gt;</instruction>
					<instruction>					&lt;item text=&quot;替换&quot; /&gt;</instruction>
					<instruction>					&lt;item text=&quot;追加&quot; /&gt;</instruction>
					<instruction>					&lt;item text=&quot;询问&quot; /&gt;</instruction>
					<instruction>				&lt;/contents&gt;</instruction>
					<instruction>			&lt;/control&gt;</instruction>
					<instruction>			&lt;control halign=&quot;left&quot; height=&quot;12&quot; name=&quot;static4&quot; resize=&quot;y&quot; title=&quot;文本编码: &quot; type=&quot;static&quot; valign=&quot;center&quot; width=&quot;29&quot; x=&quot;108&quot; y=&quot;198&quot; /&gt;</instruction>
					<instruction>			&lt;control height=&quot;40&quot; name=&quot;combo_enc&quot; resize=&quot;y&quot; type=&quot;combo&quot; width=&quot;64&quot; x=&quot;140&quot; y=&quot;198&quot;&gt;</instruction>
					<instruction>				&lt;contents&gt;</instruction>
					<instruction>					&lt;item text=&quot;gb2312&quot; /&gt;</instruction>
					<instruction>					&lt;item text=&quot;utf-8&quot; /&gt;</instruction>
					<instruction>					&lt;item text=&quot;utf-8 bom&quot; /&gt;</instruction>
					<instruction>					&lt;item text=&quot;utf-16-le&quot; /&gt;</instruction>
					<instruction>					&lt;item text=&quot;utf-16-le bom&quot; /&gt;</instruction>
					<instruction>					&lt;item text=&quot;utf-16-be&quot; /&gt;</instruction>
					<instruction>					&lt;item text=&quot;utf-16-be bom&quot; /&gt;</instruction>
					<instruction>				&lt;/contents&gt;</instruction>
					<instruction>			&lt;/control&gt;</instruction>
					<instruction>			&lt;control checked=&quot;yes&quot; height=&quot;12&quot; name=&quot;check_Append&quot; title=&quot;追加时换行&quot; type=&quot;check&quot; width=&quot;45&quot; x=&quot;213&quot; y=&quot;198&quot; /&gt;</instruction>
					<instruction>			&lt;control default=&quot;yes&quot; height=&quot;14&quot; name=&quot;ok&quot; resize=&quot;xy&quot; title=&quot;保存(&amp;amp;S)&quot; type=&quot;button&quot; width=&quot;43&quot; x=&quot;288&quot; y=&quot;198&quot; /&gt;</instruction>
					<instruction>			&lt;control close=&quot;0&quot; height=&quot;14&quot; name=&quot;close&quot; resize=&quot;xy&quot; title=&quot;关闭(&amp;amp;C)&quot; type=&quot;button&quot; width=&quot;42&quot; x=&quot;342&quot; y=&quot;198&quot; /&gt;</instruction>
					<instruction>		&lt;/dialog&gt;</instruction>
					<instruction>	&lt;/resource&gt;</instruction>
					<instruction>&lt;/resources&gt;</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none">
				<label>新建</label>
				<tip>新建一个文件或文件夹</tip>
				<icon1>#newfile</icon1>
				<function type="normal">
					<instruction>FileType NEWMENU</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>新建以日期命名的文件夹</label>
				<tip>新建一个用当前日期和时间自动命名的文件夹</tip>
				<icon1>#makedir</icon1>
				<function type="normal">
					<instruction>CreateFolder NAME=&quot;{date|yyyy-MM-dd} {time|HH-mm-ss}&quot;</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>移动到以日期命名的文件夹</label>
				<tip>将所选项目移动到以当前日期和时间命名的新子文件夹中</tip>
				<icon1>#move</icon1>
				<function type="normal">
					<instruction>Copy MOVE HERE CREATEFOLDER=&quot;{date|yyyy-MM-dd} {time|HH-mm-ss}&quot;</instruction>
				</function>
			</button>
		</button>
		<button always_enable="yes" backcol="none" display="both" hotkey_label="yes" label_pos="right" separate="yes" textcol="none" type="menu_button">
			<label>删除(&amp;D)</label>
			<tip>删除选定的文件和文件夹</tip>
			<hotkeys>
				<key>delete</key>
				<key>shift+delete</key>
			</hotkeys>
			<icon1>#delete</icon1>
			<function type="normal">
				<instruction>@icon:deletefilter,Set DELFILTER=Toggle</instruction>
				<instruction>Delete SHIFT</instruction>
			</function>
			<button always_enable="yes" backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>删除(&amp;D)</label>
				<tip>删除选定的文件和文件夹</tip>
				<icon1>#delete</icon1>
				<function type="normal">
					<instruction>@icon:deletefilter,Set DELFILTER=Toggle</instruction>
					<instruction>Delete SHIFT</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none">
				<label>安全擦除(&amp;W)</label>
				<tip>用 NSA 认可的算法擦写选中的文件多达 32 次以防止文件恢复</tip>
				<icon1>#deletesecure</icon1>
				<function type="normal">
					<instruction>Delete SECURE</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none">
				<label>从收集区中删除(&amp;R)</label>
				<tip>从文件收集中删除文件或文件夹</tip>
				<icon1>#removecollection</icon1>
				<function type="normal">
					<instruction>Delete REMOVECOLLECTION</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>转到回收站(&amp;Y)</label>
				<icon1>#gotrash</icon1>
				<function type="normal">
					<instruction>Go /trash USEQUALKEYS</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>清空回收站(&amp;E)</label>
				<tip>清空回收站，永久删除其中的所有内容</tip>
				<icon1>#deletepermanent</icon1>
				<function type="normal">
					<instruction>Delete EMPTYRECYCLE</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none">
				<label>安全清空回收站(E)</label>
				<tip>安全地擦除回收站的内容，然后将其清空</tip>
				<icon1>#deletesecure</icon1>
				<function type="normal">
					<instruction>Delete EMPTYRECYCLE SECURE=1</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>启用回收站(&amp;C)</label>
				<tip>选择 Opus 是将文件发送到回收站还是永久删除它们</tip>
				<icon1>#recycleenable</icon1>
				<function type="normal">
					<instruction>Set DELRECYCLEBIN=Toggle</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>启用回收确认(Y)</label>
				<tip>删除到回收站时显示确认消息</tip>
				<icon1>#recycleconfirm</icon1>
				<function type="normal">
					<instruction>Set DELRECYCLECONFIRM=Toggle</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none">
				<label>启用删除过滤器(E)</label>
				<tip>对删除操作做打开或关闭过滤器</tip>
				<icon1>#deletefilter</icon1>
				<function type="normal">
					<instruction>Set DELFILTER=Toggle</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>删除设置(&amp;S)...</label>
				<tip>&quot;选项&quot;中&quot;删除设置&quot;页面的快捷方式</tip>
				<icon1>#prefs</icon1>
				<function type="normal">
					<instruction>Prefs PAGE=deleting</instruction>
				</function>
			</button>
		</button>
		<button backcol="none" display="both" hotkey="ctrl+shift+A" hotkey_label="yes" label_pos="right" separate="yes" textcol="none">
			<label>管理员</label>
			<tip>临时提升当前窗口权限,这允许您在不经 UAC 提示的情况下对受保护的文件进行多种操作</tip>
			<icon1>#adminmode</icon1>
			<function type="normal">
				<instruction>Set ADMIN=Toggle</instruction>
			</function>
		</button>
		<button backcol="none" display="both" hotkey="ctrl+4" hotkey_label="yes" label_pos="right" separate="yes" textcol="none" type="menu_button">
			<label>压缩文件(&amp;I)</label>
			<tip>在当前的文件夹中添加选择的文件和文件夹为一个压缩文件</tip>
			<icon1>#addtozip</icon1>
			<function type="normal">
				<instruction>Copy ADDTOARCHIVE HERE</instruction>
			</function>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>压缩文件(&amp;I)</label>
				<tip>在当前的文件夹中添加选择的文件和文件夹为一个压缩文件</tip>
				<icon1>#addtozip</icon1>
				<function type="normal">
					<instruction>Copy ADDTOARCHIVE HERE</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey="ctrl+shift+4" hotkey_label="yes" label_pos="right" textcol="none">
				<label>添加到不同的压缩文件</label>
				<tip>在当前文件夹中创建选定的文件和文件夹为单独压缩文件</tip>
				<icon1>#addtozip</icon1>
				<function type="normal">
					<instruction>Copy ARCHIVE=single HERE</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>添加到指定压缩文件</label>
				<tip>在目标文件夹中添加选定的文件和文件夹为压缩文件</tip>
				<icon1>#addtozip</icon1>
				<function type="normal">
					<instruction>Copy ADDTOARCHIVE</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none">
				<label>压缩成&amp;Zip并邮寄(E)</label>
				<tip>将文件压缩成Zip并作为Email附件发送</tip>
				<icon1>#zipandmail</icon1>
				<function type="normal">
					<instruction>Copy ARCHIVE SENDMAIL</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none">
				<label>解压到文件夹</label>
				<tip>在当前位置将选定压缩文件以相同名字解压到单独文件夹</tip>
				<icon1>#extract</icon1>
				<function type="normal">
					<instruction>Copy EXTRACT=sub HERE</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>解压到目标文件夹</label>
				<tip>在目标文件夹中直接解压所有选定的压缩文件</tip>
				<icon1>#extract</icon1>
				<function type="normal">
					<instruction>Copy EXTRACT</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>解压到指定文件夹</label>
				<tip>在目标文件夹中将选定压缩文件以相同名字解压到单独文件夹</tip>
				<icon1>#extract</icon1>
				<function type="normal">
					<instruction>Copy EXTRACT=sub</instruction>
				</function>
			</button>
		</button>
		<button backcol="none" display="both" hotkey="alt+enter" hotkey_label="yes" label_pos="right" separate="yes" textcol="none" type="menu_button">
			<label>属性(&amp;R)</label>
			<tip>查看选定文件与文件夹的属性</tip>
			<icon1>#properties</icon1>
			<function type="normal">
				<instruction>Properties</instruction>
			</function>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>属性(&amp;R)</label>
				<tip>查看选定文件与文件夹的属性</tip>
				<icon1>#properties</icon1>
				<function type="normal">
					<instruction>Properties</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey="ctrl+B" hotkey_label="yes" label_pos="right" textcol="none">
				<label>属性和时间</label>
				<tip>更改选定文件的属性与时间戳</tip>
				<icon1>#setattr</icon1>
				<function type="normal">
					<instruction>SetAttr</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey="ctrl+P" hotkey_label="yes" label_pos="right" textcol="none">
				<label>描述</label>
				<tip>为选定的文件输入您自己的描述</tip>
				<icon1>#setcomment</icon1>
				<function type="normal">
					<instruction>SetAttr DESCRIPTION</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey="ctrl+M" hotkey_label="yes" label_pos="right" textcol="none">
				<label>编辑元数据</label>
				<tip>编辑所选文件的元数据</tip>
				<icon1>#editmeta</icon1>
				<function type="normal">
					<instruction>SetAttr META</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>更新修改日期(&amp;M)</label>
				<tip>设置所选文件的最后修改时间戳为当前日期和时间</tip>
				<icon1>#setdate</icon1>
				<function type="normal">
					<instruction>SetAttr MODIFIED=now</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>设置标记</label>
				<tip>为文件或文件夹指定标记</tip>
				<icon1>#setcolor</icon1>
				<function type="normal">
					<instruction>Properties SETLABEL !menu LABELCATEGORY raw:~(Status)</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>设置状态</label>
				<tip>指派可显示在状态列的图标.</tip>
				<icon1>#status</icon1>
				<function type="normal">
					<instruction>Properties SETLABEL !menu LABELCATEGORY raw:Status ADDLABEL SETLABELTOGGLE</instruction>
					<instruction>[</instruction>
					<instruction>Set COLUMNSADD=Status(!1+Name)</instruction>
					<instruction>]</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey="ctrl+insert" hotkey_label="yes" label_pos="right" textcol="none">
				<label>切换置顶</label>
				<tip>将选定项固定于顶部，不受排序影响</tip>
				<icon1>/home/dopus.exe,-563</icon1>
				<function type="normal">
					<instruction>Properties SETLABEL 已置顶 ADDLABEL SETLABELTOGGLE</instruction>
					<instruction>Set COLUMNSADD status(!1+Name)</instruction>
				</function>
			</button>
		</button>
		<button backcol="none" display="icon" label_pos="right" textcol="none" type="menu_button">
			<label>幻灯片播放</label>
			<tip>选择图片作为显示的幻灯片</tip>
			<icon1>#slideshow</icon1>
			<function type="normal">
				<instruction>Show SLIDESHOW AUTOFILELIST FULLSCREEN</instruction>
			</function>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>幻灯片播放</label>
				<tip>选择图片作为显示的幻灯片</tip>
				<icon1>#slideshow</icon1>
				<function type="normal">
					<instruction>Show SLIDESHOW AUTOFILELIST FULLSCREEN</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>显示图片(&amp;S)</label>
				<tip>显示当前选中的图片</tip>
				<icon1>#show</icon1>
				<function type="normal">
					<instruction>Show AUTOFILELIST</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>打开链接的查看器(&amp;L)</label>
				<tip>打开一个独立的查看器，其作用类似于分离的查看器窗格</tip>
				<icon1>#viewerlink</icon1>
				<function type="normal">
					<instruction>Show LISTERLINK USEEXISTING=yes,avoid</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none">
				<label>播放声音(&amp;P)</label>
				<tip>播放当前选定的 WAV 文件</tip>
				<icon1>#play</icon1>
				<function type="normal">
					<instruction>Play</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>播放音乐(&amp;D) [文件夹]</label>
				<tip>播放文件夹中的所有音乐</tip>
				<icon1>#play</icon1>
				<function type="script">
					<instruction>@script JScript</instruction>
					<instruction>function OnClick(clickData)</instruction>
					<instruction>{</instruction>
					<instruction>	var cmd = clickData.func.command;</instruction>
					<instruction>	cmd.ClearFiles();</instruction>
					<instruction>	var fsu = DOpus.FSUtil();</instruction>
					<instruction>	var itemsToEnum = clickData.func.sourcetab.selected;</instruction>
					<instruction>	if (itemsToEnum.count == 0)</instruction>
					<instruction>	{</instruction>
					<instruction>		itemsToEnum = clickData.func.sourcetab.all;</instruction>
					<instruction>	}</instruction>
					<instruction>	// Add to a fileSet instead of directly into the Command object, as otherwise</instruction>
					<instruction>	// you can get duplicate files when Flat View is turned on.</instruction>
					<instruction>	var fileSet = DOpus.Create.StringSetI();</instruction>
					<instruction>	for (var eSel = new Enumerator(itemsToEnum); !eSel.atEnd(); eSel.moveNext())</instruction>
					<instruction>	{</instruction>
					<instruction>		var item = eSel.item();</instruction>
					<instruction>		if (!item.is_dir &amp;&amp; item.InGroup(&quot;Music&quot;))	</instruction>
					<instruction>		{</instruction>
					<instruction>			fileSet.insert(item.RealPath);</instruction>
					<instruction>		}</instruction>
					<instruction>		else if (item.is_dir)</instruction>
					<instruction>		{</instruction>
					<instruction>			var folderEnum = fsu.ReadDir(item.RealPath, true); // Recursive</instruction>
					<instruction>			while (!folderEnum.complete)</instruction>
					<instruction>			{</instruction>
					<instruction>				var subItem = folderEnum.Next();</instruction>
					<instruction>				if (!subItem.is_dir &amp;&amp; subItem.InGroup(&quot;Music&quot;))</instruction>
					<instruction>				{</instruction>
					<instruction>					fileSet.insert(subItem.RealPath);</instruction>
					<instruction>				}</instruction>
					<instruction>			}</instruction>
					<instruction>		}</instruction>
					<instruction>	}</instruction>
					<instruction>	if (fileSet.count &gt; 0)</instruction>
					<instruction>	{</instruction>
					<instruction>		for (var eFile = new Enumerator(fileSet); !eFile.atEnd(); eFile.moveNext())</instruction>
					<instruction>		{</instruction>
					<instruction>			cmd.AddFile(eFile.item());</instruction>
					<instruction>		}</instruction>
					<instruction>		cmd.RunCommand(&quot;play&quot;);</instruction>
					<instruction>	}</instruction>
					<instruction>}</instruction>
				</function>
			</button>
		</button>
		<button backcol="none" display="icon" hotkey_label="yes" label_pos="right" textcol="none" type="menu_button">
			<label>智能解压</label>
			<tip>用7z智能解压到当前目录</tip>
			<icon1>/home\_Green\7z极限压缩\icon/菜单图标.ico,0</icon1>
			<function type="normal">
				<instruction>@noprogress</instruction>
				<instruction>@nodeselect</instruction>
				<instruction>@filesonly</instruction>
				<instruction />
				<instruction>cd &quot;{sourcepath$}&quot;</instruction>
				<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; SmartDc Judge &quot;智能解压到文件夹&quot; &quot;{filepath$}&quot;</instruction>
			</function>
			<button backcol="none" display="both" hotkey="alt+E" hotkey_label="yes" label_pos="right" textcol="none">
				<label>智能解压到当前目录</label>
				<icon1>#extract</icon1>
				<function type="normal">
					<instruction>@noprogress</instruction>
					<instruction>@nodeselect</instruction>
					<instruction>@filesonly</instruction>
					<instruction />
					<instruction>cd &quot;{sourcepath$}&quot;</instruction>
					<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; SmartDc Judge &quot;智能解压到文件夹&quot; &quot;{filepath$}&quot;</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey="alt+P" hotkey_label="yes" label_pos="right" textcol="none">
				<label>智能解压到目标栏</label>
				<icon1>#extract</icon1>
				<function type="normal">
					<instruction>@noprogress</instruction>
					<instruction>@nodeselect</instruction>
					<instruction>@filesonly</instruction>
					<instruction />
					<instruction>cd &quot;{sourcepath$}&quot;</instruction>
					<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; SmartDc Judge &quot;智能解压到目标栏&quot; &quot;{filepath$}&quot; &quot;{destpath$}&quot;</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey="shift+alt+P" hotkey_label="yes" label_pos="right" separate="yes" textcol="none">
				<label>智能解压到桌面</label>
				<icon1>/system/shell32.dll,-35</icon1>
				<function type="normal">
					<instruction>@noprogress</instruction>
					<instruction>@nodeselect</instruction>
					<instruction>@filesonly</instruction>
					<instruction />
					<instruction>cd &quot;{sourcepath$}&quot;</instruction>
					<instruction>// &quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; SmartDc Judge &quot;智能解压到桌面&quot; &quot;{filepath$}&quot; &quot;{alias|desktop}&quot;</instruction>
					<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; SmartDc Judge &quot;智能解压到桌面&quot; &quot;{filepath$}&quot; &quot;Desktop&quot;</instruction>
				</function>
			</button>
			<button backcol="#afcbaa" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>解压到当前目录</label>
				<hotkeys>
					<chord>
						<key>alt+U</key>
						<key>E</key>
					</chord>
				</hotkeys>
				<icon1>#extract</icon1>
				<function type="normal">
					<instruction>@noprogress</instruction>
					<instruction>@nodeselect</instruction>
					<instruction>@filesonly</instruction>
					<instruction />
					<instruction>cd &quot;{sourcepath$}&quot;</instruction>
					<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; Extract &quot;解压到当前文件夹&quot; &quot;{filepath$}&quot;</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>解压到目标栏</label>
				<hotkeys>
					<chord>
						<key>alt+U</key>
						<key>P</key>
					</chord>
				</hotkeys>
				<icon1>#extract</icon1>
				<function type="normal">
					<instruction>@noprogress</instruction>
					<instruction>@nodeselect</instruction>
					<instruction>@filesonly</instruction>
					<instruction />
					<instruction>cd &quot;{sourcepath$}&quot;</instruction>
					<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; Extract &quot;解压到目标栏&quot; &quot;{filepath$}&quot; &quot;{destpath$}&quot;</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" textcol="none">
				<label>解压到桌面</label>
				<hotkeys>
					<chord>
						<key>alt+U</key>
						<key>D</key>
					</chord>
				</hotkeys>
				<icon1>/system/shell32.dll,-35</icon1>
				<function type="normal">
					<instruction>@noprogress</instruction>
					<instruction>@nodeselect</instruction>
					<instruction>@filesonly</instruction>
					<instruction />
					<instruction>cd &quot;{sourcepath$}&quot;</instruction>
					<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; Extract &quot;解压到用户桌面&quot; &quot;{filepath$}&quot; &quot;Desktop&quot;</instruction>
				</function>
			</button>
			<button backcol="none" display="both" hotkey_label="yes" label_pos="right" separate="yes" textcol="none">
				<label>解压到 [压缩包] 目录</label>
				<hotkeys>
					<chord>
						<key>alt+U</key>
						<key>A</key>
					</chord>
					<chord>
						<key>alt+U</key>
						<key>F</key>
					</chord>
				</hotkeys>
				<icon1>#extract</icon1>
				<function type="normal">
					<instruction>@noprogress</instruction>
					<instruction>@nodeselect</instruction>
					<instruction>@filesonly</instruction>
					<instruction />
					<instruction>cd &quot;{sourcepath$}&quot;</instruction>
					<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; Extract &quot;解压到[压缩包]文件夹&quot; &quot;{filepath$}&quot; &quot;ArchDir&quot;</instruction>
				</function>
			</button>
			<button backcol="#afcbaa" display="both" hotkey="ctrl+7" hotkey_label="yes" label_pos="right" textcol="none">
				<label>用 7-Zip 打开</label>
				<icon1>/home\_Green\7z极限压缩\icon/菜单图标.ico,0</icon1>
				<function type="normal">
					<instruction>@noprogress</instruction>
					<instruction>@nodeselect</instruction>
					<instruction>@filesonly</instruction>
					<instruction />
					<instruction>cd &quot;{sourcepath$}&quot;</instruction>
					<instruction>&quot;/home\_Green\7z极限压缩\bin\x64\7zFM.exe&quot; &quot;{filepath$}&quot;</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>转换自解压程序 (*.7z)</label>
				<icon1>/home/dopus.exe,-592</icon1>
				<function type="normal">
					<instruction>@noprogress</instruction>
					<instruction>@nodeselect</instruction>
					<instruction>@filesonly</instruction>
					<instruction />
					<instruction>cd &quot;{sourcepath$}&quot;</instruction>
					<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; MakeSfx &quot;7z转换自解压程序&quot; &quot;{filepath$}&quot;</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none">
				<label>提取文档图片</label>
				<tip>提取可解压文档的内部图片\n(.docx .xlsx .pptx .ofd .chm ...)</tip>
				<icon1>/home/dopus.exe,-313</icon1>
				<function type="normal">
					<instruction>@noprogress</instruction>
					<instruction>@nodeselect</instruction>
					<instruction>@filesonly</instruction>
					<instruction />
					<instruction>cd &quot;{sourcepath$}&quot;</instruction>
					<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; ExtrImg &quot;{filepath$}&quot;</instruction>
				</function>
			</button>
			<button backcol="none" display="both" textcol="none" type="menu">
				<label>常规压缩</label>
				<icon1>/home\_Green\7z极限压缩\icon/菜单图标.ico,0</icon1>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>0-仅存储</label>
					<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
					<function type="normal">
						<instruction>@noprogress</instruction>
						<instruction>@nodeselect</instruction>
						<instruction />
						<instruction>cd &quot;{sourcepath$}&quot;</instruction>
						<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; UltiCom General &quot;GUI设置：0-仅存储&quot; &quot;0&quot; &quot;{filepath$}&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>1-极速压缩</label>
					<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
					<function type="normal">
						<instruction>@noprogress</instruction>
						<instruction>@nodeselect</instruction>
						<instruction />
						<instruction>cd &quot;{sourcepath$}&quot;</instruction>
						<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; UltiCom General &quot;GUI设置：1-极速压缩&quot; &quot;1&quot; &quot;{filepath$}&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>3-快速压缩</label>
					<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
					<function type="normal">
						<instruction>@noprogress</instruction>
						<instruction>@nodeselect</instruction>
						<instruction />
						<instruction>cd &quot;{sourcepath$}&quot;</instruction>
						<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; UltiCom General &quot;GUI设置：3-快速压缩&quot; &quot;3&quot; &quot;{filepath$}&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>5-标准压缩</label>
					<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
					<function type="normal">
						<instruction>@noprogress</instruction>
						<instruction>@nodeselect</instruction>
						<instruction />
						<instruction>cd &quot;{sourcepath$}&quot;</instruction>
						<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; UltiCom General &quot;GUI设置：5-标准压缩&quot; &quot;5&quot; &quot;{filepath$}&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>7-最大压缩</label>
					<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
					<function type="normal">
						<instruction>@noprogress</instruction>
						<instruction>@nodeselect</instruction>
						<instruction />
						<instruction>cd &quot;{sourcepath$}&quot;</instruction>
						<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; UltiCom General &quot;GUI设置：7-最大压缩&quot; &quot;7&quot; &quot;{filepath$}&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none">
					<label>9-极限压缩</label>
					<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
					<function type="normal">
						<instruction>@noprogress</instruction>
						<instruction>@nodeselect</instruction>
						<instruction />
						<instruction>cd &quot;{sourcepath$}&quot;</instruction>
						<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; UltiCom General &quot;GUI设置：9-极限压缩&quot; &quot;9&quot; &quot;{filepath$}&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>9-极限压缩 ┆ [不含目录]</label>
					<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
					<function type="normal">
						<instruction>@noprogress</instruction>
						<instruction>@nodeselect</instruction>
						<instruction>@dirsonly</instruction>
						<instruction />
						<instruction>cd &quot;{sourcepath$}&quot;</instruction>
						<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; UltiCom NoDir &quot;GUI设置：9-极限压缩 不含目录&quot; &quot;9&quot; &quot;{filepath$}&quot;</instruction>
					</function>
				</button>
			</button>
			<button backcol="none" display="both" textcol="none" type="menu">
				<label>单线程 LZMA_ (较慢)</label>
				<icon1>/home\_Green\7z极限压缩\icon/菜单图标.ico,0</icon1>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>128M ┆ [较小内存]</label>
					<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
					<function type="normal">
						<instruction>@noprogress</instruction>
						<instruction>@nodeselect</instruction>
						<instruction />
						<instruction>cd &quot;{sourcepath$}&quot;</instruction>
						<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; UltiCom LZMA &quot;单线程 LZMA 128M&quot; &quot;128m&quot; &quot;{filepath$}&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>256M ┆ [中等内存]</label>
					<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
					<function type="normal">
						<instruction>@noprogress</instruction>
						<instruction>@nodeselect</instruction>
						<instruction />
						<instruction>cd &quot;{sourcepath$}&quot;</instruction>
						<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; UltiCom LZMA &quot;单线程 LZMA 256M&quot; &quot;256m&quot; &quot;{filepath$}&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey="ctrl+shift+7" label_pos="right" textcol="none">
					<label>384M ┆ [高压缩比]</label>
					<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
					<function type="normal">
						<instruction>@noprogress</instruction>
						<instruction>@nodeselect</instruction>
						<instruction />
						<instruction>cd &quot;{sourcepath$}&quot;</instruction>
						<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; UltiCom LZMA &quot;单线程 LZMA 384M&quot; &quot;384m&quot; &quot;{filepath$}&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>512M ┆ [较大内存]</label>
					<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
					<function type="normal">
						<instruction>@noprogress</instruction>
						<instruction>@nodeselect</instruction>
						<instruction />
						<instruction>cd &quot;{sourcepath$}&quot;</instruction>
						<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; UltiCom LZMA &quot;单线程 LZMA 512M&quot; &quot;512m&quot; &quot;{filepath$}&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>768M ┆ [超大内存]</label>
					<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
					<function type="normal">
						<instruction>@noprogress</instruction>
						<instruction>@nodeselect</instruction>
						<instruction />
						<instruction>cd &quot;{sourcepath$}&quot;</instruction>
						<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; UltiCom LZMA &quot;单线程 LZMA 768M&quot; &quot;768m&quot; &quot;{filepath$}&quot;</instruction>
					</function>
				</button>
			</button>
			<button backcol="#afcbaa" display="both" separate="yes" textcol="none" type="menu">
				<label>多线程 LZMA2 (较快)</label>
				<icon1>/home\_Green\7z极限压缩\icon/菜单图标.ico,0</icon1>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>128M ┆ [较小内存]</label>
					<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
					<function type="normal">
						<instruction>@noprogress</instruction>
						<instruction>@nodeselect</instruction>
						<instruction />
						<instruction>cd &quot;{sourcepath$}&quot;</instruction>
						<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; UltiCom LZMA2 &quot;多线程 LZMA2 128M&quot; &quot;128m&quot; &quot;{filepath$}&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>128M ┆ [ f=BCJ2 ]</label>
					<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
					<function type="normal">
						<instruction>@noprogress</instruction>
						<instruction>@nodeselect</instruction>
						<instruction />
						<instruction>cd &quot;{sourcepath$}&quot;</instruction>
						<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; UltiCom LBCJ2 &quot;多线程 LZMA2 128M f=BCJ2&quot; &quot;128m&quot; &quot;{filepath$}&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>256M ┆ [中等内存]</label>
					<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
					<function type="normal">
						<instruction>@noprogress</instruction>
						<instruction>@nodeselect</instruction>
						<instruction />
						<instruction>cd &quot;{sourcepath$}&quot;</instruction>
						<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; UltiCom LZMA2 &quot;多线程 LZMA2 256M&quot; &quot;256m&quot; &quot;{filepath$}&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>256M ┆ [ f=BCJ2 ]</label>
					<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
					<function type="normal">
						<instruction>@noprogress</instruction>
						<instruction>@nodeselect</instruction>
						<instruction />
						<instruction>cd &quot;{sourcepath$}&quot;</instruction>
						<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; UltiCom LBCJ2 &quot;多线程 LZMA2 256M f=BCJ2&quot; &quot;256m&quot; &quot;{filepath$}&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="both" hotkey="shift+alt+7" label_pos="right" textcol="none">
					<label>384M ┆ [高压缩比]</label>
					<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
					<function type="normal">
						<instruction>@noprogress</instruction>
						<instruction>@nodeselect</instruction>
						<instruction />
						<instruction>cd &quot;{sourcepath$}&quot;</instruction>
						<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; UltiCom LZMA2 &quot;多线程 LZMA2 384M&quot; &quot;384m&quot; &quot;{filepath$}&quot;</instruction>
					</function>
				</button>
				<button backcol="#afcbaa" display="both" hotkey="alt+7" hotkey_label="yes" label_pos="right" textcol="none">
					<label>384M ┆ [ f=BCJ2 ]</label>
					<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
					<function type="normal">
						<instruction>@noprogress</instruction>
						<instruction>@nodeselect</instruction>
						<instruction />
						<instruction>cd &quot;{sourcepath$}&quot;</instruction>
						<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; UltiCom LBCJ2 &quot;多线程 LZMA2 384M f=BCJ2&quot; &quot;384m&quot; &quot;{filepath$}&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>512M ┆ [较大内存]</label>
					<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
					<function type="normal">
						<instruction>@noprogress</instruction>
						<instruction>@nodeselect</instruction>
						<instruction />
						<instruction>cd &quot;{sourcepath$}&quot;</instruction>
						<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; UltiCom LZMA2 &quot;多线程 LZMA2 512M&quot; &quot;512m&quot; &quot;{filepath$}&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>512M ┆ [ f=BCJ2 ]</label>
					<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
					<function type="normal">
						<instruction>@noprogress</instruction>
						<instruction>@nodeselect</instruction>
						<instruction />
						<instruction>cd &quot;{sourcepath$}&quot;</instruction>
						<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; UltiCom LBCJ2 &quot;多线程 LZMA2 512M f=BCJ2&quot; &quot;512m&quot; &quot;{filepath$}&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>768M ┆ [超大内存]</label>
					<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
					<function type="normal">
						<instruction>@noprogress</instruction>
						<instruction>@nodeselect</instruction>
						<instruction />
						<instruction>cd &quot;{sourcepath$}&quot;</instruction>
						<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; UltiCom LZMA2 &quot;多线程 LZMA2 768M&quot; &quot;768m&quot; &quot;{filepath$}&quot;</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none">
					<label>768M ┆ [ f=BCJ2 ]</label>
					<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
					<function type="normal">
						<instruction>@noprogress</instruction>
						<instruction>@nodeselect</instruction>
						<instruction />
						<instruction>cd &quot;{sourcepath$}&quot;</instruction>
						<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; UltiCom LBCJ2 &quot;多线程 LZMA2 768M f=BCJ2&quot; &quot;768m&quot; &quot;{filepath$}&quot;</instruction>
					</function>
				</button>
				<button backcol="#96cade" display="both" hotkey="ctrl+alt+7" label_pos="right" textcol="none">
					<label>自定义┆ [ f=BCJ2 ]</label>
					<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
					<function type="normal">
						<instruction>@noprogress</instruction>
						<instruction>@nodeselect</instruction>
						<instruction />
						<instruction>cd &quot;{sourcepath$}&quot;</instruction>
						<instruction>@Set var = {dlgchoose|压缩参数 ↓\n-t7z -snl -mx=9 -myx -mmt=on -ms=on -mtr=on -mtm=on -mtc=off -mta=off -m0=LZMA2 -mf=BCJ2 -md=[] -mfb=273\n\n字典大小 ↓|默认384M=384m+1M=1m+2M=2m+3M=3m+4M=4m+6M=6m+8M=8m+12M=12m+16M=16m+24M=24m+32M=32m+48M=48m+64M=64m+96M=96m+128M=128m+192M=192m+256M=256m+128M=128m+384M=384m+512M=512m+768M=768m+1024M=1024m+1536M=1536m+2048M=2048m+3072M=3072m+3840M=3840m}</instruction>
						<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; UltiCom LBCJ2 &quot;多线程 LZMA2 {$var} f=BCJ2&quot; &quot;{$var}&quot; &quot;{filepath$}&quot;</instruction>
					</function>
				</button>
				<button backcol="#dce2f1" display="both" hotkey="ctrl+shift+alt+7" label_pos="right" textcol="none">
					<label>自定义┆ [ -mmc= ]</label>
					<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
					<function type="normal">
						<instruction>@noprogress</instruction>
						<instruction>@nodeselect</instruction>
						<instruction />
						<instruction>cd &quot;{sourcepath$}&quot;</instruction>
						<instruction>@Set var = {dlgchoose|压缩参数 ↓\n-t7z -snl -mx=9 -myx -mmt=on -ms=on -mtr=on -mtm=on -mtc=off -mta=off -m0=LZMA2 -mf=BCJ2 -md=[] -mfb=273 -mmc=1000000000\n\n字典大小 ↓|默认384M=384m+1M=1m+2M=2m+3M=3m+4M=4m+6M=6m+8M=8m+12M=12m+16M=16m+24M=24m+32M=32m+48M=48m+64M=64m+96M=96m+128M=128m+192M=192m+256M=256m+128M=128m+384M=384m+512M=512m+768M=768m+1024M=1024m+1536M=1536m+2048M=2048m+3072M=3072m+3840M=3840m}</instruction>
						<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; UltiCom LIMMC &quot;多线程 LZMA2 {$var} f=BCJ2 -mmc=∞&quot; &quot;{$var}&quot; &quot;{filepath$}&quot;</instruction>
					</function>
				</button>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>按分卷压缩为7z</label>
				<icon1>#split</icon1>
				<function type="normal">
					<instruction>@noprogress</instruction>
					<instruction>@nodeselect</instruction>
					<instruction />
					<instruction>cd &quot;{sourcepath$}&quot;</instruction>
					<instruction>@Set var = {dlgchoose|选择分卷大小 ↓|5M=5m+10M=10m+25M=25m+32M=32m+50M=50m+64M=64m+75M=75m+100M=100m+128M=128m+256M=256m+500M=500m+512M=512m+1000M=1000m+1024M=1024m+650M - CD=650m+700M - CD=700m+4092M - FAT=4092m+4480M - DVD=4480m+8128M - DVD DL=8128m+23040M - BD=23040m}</instruction>
					<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; UltiCom Split &quot;按 {$var} 分卷压缩为7z&quot; &quot;7|{$var}&quot; &quot;{filepath$}&quot;</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none">
				<label>压缩为zip</label>
				<icon1>/home\_Green\7z极限压缩\icon/zip.ico,0</icon1>
				<function type="normal">
					<instruction>@noprogress</instruction>
					<instruction>@nodeselect</instruction>
					<instruction />
					<instruction>cd &quot;{sourcepath$}&quot;</instruction>
					<instruction>&quot;/home\_Green\7z极限压缩\7z极限压缩.bat&quot; UltiCom ZIP &quot;最高等级压缩为zip&quot; &quot;9|Deflate&quot; &quot;{filepath$}&quot;</instruction>
				</function>
			</button>
			<button backcol="#afcbaa" display="both" textcol="none" type="menu">
				<label>当前目录多选合并压缩</label>
				<icon1>#gostartfolder</icon1>
				<button backcol="none" display="both" textcol="none" type="menu">
					<label>常规压缩</label>
					<icon1>/home\_Green\7z极限压缩\icon/菜单图标.ico,0</icon1>
					<button backcol="none" display="both" label_pos="right" textcol="none">
						<label>0-仅存储</label>
						<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
						<function type="script">
							<instruction>@script JScript</instruction>
							<instruction>function OnClick(clickData)</instruction>
							<instruction>{</instruction>
							<instruction>	var cmd = clickData.func.command;</instruction>
							<instruction>	cmd.deselect = false;</instruction>
							<instruction>	var selcount = clickData.func.sourcetab.selected.count;</instruction>
							<instruction>	if(selcount == 0) return;</instruction>
							<instruction>	var spath = clickData.func.sourcetab.path;</instruction>
							<instruction>	var fpath = clickData.func.sourcetab.selected[0].path;</instruction>
							<instruction>	var apppath = &apos;&quot;/home\\_Green\\7z极限压缩\\7z极限压缩.bat&quot; UltiCom General &quot;GUI设置：0-仅存储&quot; &quot;0&quot; &apos;;</instruction>
							<instruction>	cmd.AddLine(&quot;@noprogress&quot;);</instruction>
							<instruction>	//cmd.AddLine(&apos;cd &quot;{sourcepath}&quot;&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;cd &quot;&apos;+fpath+&apos;\\&quot;&apos;);</instruction>
							<instruction />
							<instruction>	var acvname = &apos;{file}&apos;;</instruction>
							<instruction>	//if(selcount &gt; 1 &amp;&amp; spath.test_root) //非磁盘根目录</instruction>
							<instruction>		//acvname = &apos;{sourcepath|nopath|noterm}&apos;;</instruction>
							<instruction>	if(selcount &gt; 1 &amp;&amp; fpath.test_root) //非磁盘根目录</instruction>
							<instruction>		acvname = fpath.stem;</instruction>
							<instruction />
							<instruction>	cmd.AddLine(&apos;@set af={allfile$|noterm|regex=(.*)|to=&lt;\\1&gt;}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@set af={=RegExS($af,&quot;(&lt;|&gt;)&quot;,&quot;&quot;&quot;&quot;)=}&apos;);</instruction>
							<instruction />
							<instruction>	//cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;{sourcepath}&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;&apos;+fpath+&apos;\\&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;SELECT &quot;&apos;+acvname+&apos;&quot; EXACT DESELECTNOMATCH SETFOCUS&apos;); //选中压缩后的7z包</instruction>
							<instruction>	cmd.Run;</instruction>
							<instruction>}</instruction>
						</function>
					</button>
					<button backcol="none" display="both" label_pos="right" textcol="none">
						<label>1-极速压缩</label>
						<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
						<function type="script">
							<instruction>@script JScript</instruction>
							<instruction>function OnClick(clickData)</instruction>
							<instruction>{</instruction>
							<instruction>	var cmd = clickData.func.command;</instruction>
							<instruction>	cmd.deselect = false;</instruction>
							<instruction>	var selcount = clickData.func.sourcetab.selected.count;</instruction>
							<instruction>	if(selcount == 0) return;</instruction>
							<instruction>	var spath = clickData.func.sourcetab.path;</instruction>
							<instruction>	var fpath = clickData.func.sourcetab.selected[0].path;</instruction>
							<instruction>	var apppath = &apos;&quot;/home\\_Green\\7z极限压缩\\7z极限压缩.bat&quot; UltiCom General &quot;GUI设置：1-极速压缩&quot; &quot;1&quot; &apos;;</instruction>
							<instruction>	cmd.AddLine(&quot;@noprogress&quot;);</instruction>
							<instruction>	//cmd.AddLine(&apos;cd &quot;{sourcepath}&quot;&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;cd &quot;&apos;+fpath+&apos;\\&quot;&apos;);</instruction>
							<instruction />
							<instruction>	var acvname = &apos;{file}&apos;;</instruction>
							<instruction>	//if(selcount &gt; 1 &amp;&amp; spath.test_root) //非磁盘根目录</instruction>
							<instruction>		//acvname = &apos;{sourcepath|nopath|noterm}&apos;;</instruction>
							<instruction>	if(selcount &gt; 1 &amp;&amp; fpath.test_root) //非磁盘根目录</instruction>
							<instruction>		acvname = fpath.stem;</instruction>
							<instruction />
							<instruction>	cmd.AddLine(&apos;@set af={allfile$|noterm|regex=(.*)|to=&lt;\\1&gt;}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@set af={=RegExS($af,&quot;(&lt;|&gt;)&quot;,&quot;&quot;&quot;&quot;)=}&apos;);</instruction>
							<instruction />
							<instruction>	//cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;{sourcepath}&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;&apos;+fpath+&apos;\\&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;SELECT &quot;&apos;+acvname+&apos;&quot; EXACT DESELECTNOMATCH SETFOCUS&apos;); //选中压缩后的7z包</instruction>
							<instruction>	cmd.Run;</instruction>
							<instruction>}</instruction>
						</function>
					</button>
					<button backcol="none" display="both" label_pos="right" textcol="none">
						<label>3-快速压缩</label>
						<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
						<function type="script">
							<instruction>@script JScript</instruction>
							<instruction>function OnClick(clickData)</instruction>
							<instruction>{</instruction>
							<instruction>	var cmd = clickData.func.command;</instruction>
							<instruction>	cmd.deselect = false;</instruction>
							<instruction>	var selcount = clickData.func.sourcetab.selected.count;</instruction>
							<instruction>	if(selcount == 0) return;</instruction>
							<instruction>	var spath = clickData.func.sourcetab.path;</instruction>
							<instruction>	var fpath = clickData.func.sourcetab.selected[0].path;</instruction>
							<instruction>	var apppath = &apos;&quot;/home\\_Green\\7z极限压缩\\7z极限压缩.bat&quot; UltiCom General &quot;GUI设置：3-快速压缩&quot; &quot;3&quot; &apos;;</instruction>
							<instruction>	//cmd.AddLine(&apos;cd &quot;{sourcepath}&quot;&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;cd &quot;&apos;+fpath+&apos;\\&quot;&apos;);</instruction>
							<instruction />
							<instruction>	var acvname = &apos;{file}&apos;;</instruction>
							<instruction>	//if(selcount &gt; 1 &amp;&amp; spath.test_root) //非磁盘根目录</instruction>
							<instruction>		//acvname = &apos;{sourcepath|nopath|noterm}&apos;;</instruction>
							<instruction>	if(selcount &gt; 1 &amp;&amp; fpath.test_root) //非磁盘根目录</instruction>
							<instruction>		acvname = fpath.stem;</instruction>
							<instruction />
							<instruction>	cmd.AddLine(&apos;@set af={allfile$|noterm|regex=(.*)|to=&lt;\\1&gt;}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@set af={=RegExS($af,&quot;(&lt;|&gt;)&quot;,&quot;&quot;&quot;&quot;)=}&apos;);</instruction>
							<instruction />
							<instruction>	//cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;{sourcepath}&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;&apos;+fpath+&apos;\\&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;SELECT &quot;&apos;+acvname+&apos;&quot; EXACT DESELECTNOMATCH SETFOCUS&apos;); //选中压缩后的7z包</instruction>
							<instruction>	cmd.Run;</instruction>
							<instruction>}</instruction>
						</function>
					</button>
					<button backcol="none" display="both" label_pos="right" textcol="none">
						<label>5-标准压缩</label>
						<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
						<function type="script">
							<instruction>@script JScript</instruction>
							<instruction>function OnClick(clickData)</instruction>
							<instruction>{</instruction>
							<instruction>	var cmd = clickData.func.command;</instruction>
							<instruction>	cmd.deselect = false;</instruction>
							<instruction>	var selcount = clickData.func.sourcetab.selected.count;</instruction>
							<instruction>	if(selcount == 0) return;</instruction>
							<instruction>	var spath = clickData.func.sourcetab.path;</instruction>
							<instruction>	var fpath = clickData.func.sourcetab.selected[0].path;</instruction>
							<instruction>	var apppath = &apos;&quot;/home\\_Green\\7z极限压缩\\7z极限压缩.bat&quot; UltiCom General &quot;GUI设置：5-标准压缩&quot; &quot;5&quot; &apos;;</instruction>
							<instruction>	cmd.AddLine(&quot;@noprogress&quot;);</instruction>
							<instruction>	//cmd.AddLine(&apos;cd &quot;{sourcepath}&quot;&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;cd &quot;&apos;+fpath+&apos;\\&quot;&apos;);</instruction>
							<instruction />
							<instruction>	var acvname = &apos;{file}&apos;;</instruction>
							<instruction>	//if(selcount &gt; 1 &amp;&amp; spath.test_root) //非磁盘根目录</instruction>
							<instruction>		//acvname = &apos;{sourcepath|nopath|noterm}&apos;;</instruction>
							<instruction>	if(selcount &gt; 1 &amp;&amp; fpath.test_root) //非磁盘根目录</instruction>
							<instruction>		acvname = fpath.stem;</instruction>
							<instruction />
							<instruction>	cmd.AddLine(&apos;@set af={allfile$|noterm|regex=(.*)|to=&lt;\\1&gt;}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@set af={=RegExS($af,&quot;(&lt;|&gt;)&quot;,&quot;&quot;&quot;&quot;)=}&apos;);</instruction>
							<instruction />
							<instruction>	//cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;{sourcepath}&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;&apos;+fpath+&apos;\\&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;SELECT &quot;&apos;+acvname+&apos;&quot; EXACT DESELECTNOMATCH SETFOCUS&apos;); //选中压缩后的7z包</instruction>
							<instruction>	cmd.Run;</instruction>
							<instruction>}</instruction>
						</function>
					</button>
					<button backcol="none" display="both" label_pos="right" textcol="none">
						<label>7-最大压缩</label>
						<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
						<function type="script">
							<instruction>@script JScript</instruction>
							<instruction>function OnClick(clickData)</instruction>
							<instruction>{</instruction>
							<instruction>	var cmd = clickData.func.command;</instruction>
							<instruction>	cmd.deselect = false;</instruction>
							<instruction>	var selcount = clickData.func.sourcetab.selected.count;</instruction>
							<instruction>	if(selcount == 0) return;</instruction>
							<instruction>	var spath = clickData.func.sourcetab.path;</instruction>
							<instruction>	var fpath = clickData.func.sourcetab.selected[0].path;</instruction>
							<instruction>	var apppath = &apos;&quot;/home\\_Green\\7z极限压缩\\7z极限压缩.bat&quot; UltiCom General &quot;GUI设置：7-最大压缩&quot; &quot;7&quot; &apos;;</instruction>
							<instruction>	cmd.AddLine(&quot;@noprogress&quot;);</instruction>
							<instruction>	//cmd.AddLine(&apos;cd &quot;{sourcepath}&quot;&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;cd &quot;&apos;+fpath+&apos;\\&quot;&apos;);</instruction>
							<instruction />
							<instruction>	var acvname = &apos;{file}&apos;;</instruction>
							<instruction>	//if(selcount &gt; 1 &amp;&amp; spath.test_root) //非磁盘根目录</instruction>
							<instruction>		//acvname = &apos;{sourcepath|nopath|noterm}&apos;;</instruction>
							<instruction>	if(selcount &gt; 1 &amp;&amp; fpath.test_root) //非磁盘根目录</instruction>
							<instruction>		acvname = fpath.stem;</instruction>
							<instruction />
							<instruction>	cmd.AddLine(&apos;@set af={allfile$|noterm|regex=(.*)|to=&lt;\\1&gt;}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@set af={=RegExS($af,&quot;(&lt;|&gt;)&quot;,&quot;&quot;&quot;&quot;)=}&apos;);</instruction>
							<instruction />
							<instruction>	//cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;{sourcepath}&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;&apos;+fpath+&apos;\\&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;SELECT &quot;&apos;+acvname+&apos;&quot; EXACT DESELECTNOMATCH SETFOCUS&apos;); //选中压缩后的7z包</instruction>
							<instruction>	cmd.Run;</instruction>
							<instruction>}</instruction>
						</function>
					</button>
					<button backcol="none" display="both" label_pos="right" textcol="none">
						<label>9-极限压缩</label>
						<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
						<function type="script">
							<instruction>@script JScript</instruction>
							<instruction>function OnClick(clickData)</instruction>
							<instruction>{</instruction>
							<instruction>	var cmd = clickData.func.command;</instruction>
							<instruction>	cmd.deselect = false;</instruction>
							<instruction>	var selcount = clickData.func.sourcetab.selected.count;</instruction>
							<instruction>	if(selcount == 0) return;</instruction>
							<instruction>	var spath = clickData.func.sourcetab.path;</instruction>
							<instruction>	var fpath = clickData.func.sourcetab.selected[0].path;</instruction>
							<instruction>	var apppath = &apos;&quot;/home\\_Green\\7z极限压缩\\7z极限压缩.bat&quot; UltiCom General &quot;GUI设置：9-极限压缩&quot; &quot;9&quot; &apos;;</instruction>
							<instruction>	cmd.AddLine(&quot;@noprogress&quot;);</instruction>
							<instruction>	//cmd.AddLine(&apos;cd &quot;{sourcepath}&quot;&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;cd &quot;&apos;+fpath+&apos;\\&quot;&apos;);</instruction>
							<instruction />
							<instruction>	var acvname = &apos;{file}&apos;;</instruction>
							<instruction>	//if(selcount &gt; 1 &amp;&amp; spath.test_root) //非磁盘根目录</instruction>
							<instruction>		//acvname = &apos;{sourcepath|nopath|noterm}&apos;;</instruction>
							<instruction>	if(selcount &gt; 1 &amp;&amp; fpath.test_root) //非磁盘根目录</instruction>
							<instruction>		acvname = fpath.stem;</instruction>
							<instruction />
							<instruction>	cmd.AddLine(&apos;@set af={allfile$|noterm|regex=(.*)|to=&lt;\\1&gt;}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@set af={=RegExS($af,&quot;(&lt;|&gt;)&quot;,&quot;&quot;&quot;&quot;)=}&apos;);</instruction>
							<instruction />
							<instruction>	//cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;{sourcepath}&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;&apos;+fpath+&apos;\\&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;SELECT &quot;&apos;+acvname+&apos;&quot; EXACT DESELECTNOMATCH SETFOCUS&apos;); //选中压缩后的7z包</instruction>
							<instruction>	cmd.Run;</instruction>
							<instruction>}</instruction>
						</function>
					</button>
				</button>
				<button backcol="none" display="both" textcol="none" type="menu">
					<label>单线程 LZMA_ (较慢)</label>
					<icon1>/home\_Green\7z极限压缩\icon/菜单图标.ico,0</icon1>
					<button backcol="none" display="both" label_pos="right" textcol="none">
						<label>128M ┆ [较小内存]</label>
						<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
						<function type="script">
							<instruction>@script JScript</instruction>
							<instruction>function OnClick(clickData)</instruction>
							<instruction>{</instruction>
							<instruction>	var cmd = clickData.func.command;</instruction>
							<instruction>	cmd.deselect = false;</instruction>
							<instruction>	var selcount = clickData.func.sourcetab.selected.count;</instruction>
							<instruction>	if(selcount == 0) return;</instruction>
							<instruction>	var spath = clickData.func.sourcetab.path;</instruction>
							<instruction>	var fpath = clickData.func.sourcetab.selected[0].path;</instruction>
							<instruction>	var apppath = &apos;&quot;/home\\_Green\\7z极限压缩\\7z极限压缩.bat&quot; UltiCom LZMA &quot;单线程 LZMA 128M&quot; &quot;128m&quot; &apos;;</instruction>
							<instruction>	cmd.AddLine(&quot;@noprogress&quot;);</instruction>
							<instruction>	//cmd.AddLine(&apos;cd &quot;{sourcepath}&quot;&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;cd &quot;&apos;+fpath+&apos;\\&quot;&apos;);</instruction>
							<instruction />
							<instruction>	var acvname = &apos;{file}&apos;;</instruction>
							<instruction>	//if(selcount &gt; 1 &amp;&amp; spath.test_root) //非磁盘根目录</instruction>
							<instruction>		//acvname = &apos;{sourcepath|nopath|noterm}&apos;;</instruction>
							<instruction>	if(selcount &gt; 1 &amp;&amp; fpath.test_root) //非磁盘根目录</instruction>
							<instruction>		acvname = fpath.stem;</instruction>
							<instruction />
							<instruction>	cmd.AddLine(&apos;@set af={allfile$|noterm|regex=(.*)|to=&lt;\\1&gt;}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@set af={=RegExS($af,&quot;(&lt;|&gt;)&quot;,&quot;&quot;&quot;&quot;)=}&apos;);</instruction>
							<instruction />
							<instruction>	//cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;{sourcepath}&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;&apos;+fpath+&apos;\\&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;SELECT &quot;&apos;+acvname+&apos;&quot; EXACT DESELECTNOMATCH SETFOCUS&apos;); //选中压缩后的7z包</instruction>
							<instruction>	cmd.Run;</instruction>
							<instruction>}</instruction>
						</function>
					</button>
					<button backcol="none" display="both" label_pos="right" textcol="none">
						<label>256M ┆ [中等内存]</label>
						<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
						<function type="script">
							<instruction>@script JScript</instruction>
							<instruction>function OnClick(clickData)</instruction>
							<instruction>{</instruction>
							<instruction>	var cmd = clickData.func.command;</instruction>
							<instruction>	cmd.deselect = false;</instruction>
							<instruction>	var selcount = clickData.func.sourcetab.selected.count;</instruction>
							<instruction>	if(selcount == 0) return;</instruction>
							<instruction>	var spath = clickData.func.sourcetab.path;</instruction>
							<instruction>	var fpath = clickData.func.sourcetab.selected[0].path;</instruction>
							<instruction>	var apppath = &apos;&quot;/home\\_Green\\7z极限压缩\\7z极限压缩.bat&quot; UltiCom LZMA &quot;单线程 LZMA 256M&quot; &quot;256m&quot; &apos;;</instruction>
							<instruction>	cmd.AddLine(&quot;@noprogress&quot;);</instruction>
							<instruction>	//cmd.AddLine(&apos;cd &quot;{sourcepath}&quot;&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;cd &quot;&apos;+fpath+&apos;\\&quot;&apos;);</instruction>
							<instruction />
							<instruction>	var acvname = &apos;{file}&apos;;</instruction>
							<instruction>	//if(selcount &gt; 1 &amp;&amp; spath.test_root) //非磁盘根目录</instruction>
							<instruction>		//acvname = &apos;{sourcepath|nopath|noterm}&apos;;</instruction>
							<instruction>	if(selcount &gt; 1 &amp;&amp; fpath.test_root) //非磁盘根目录</instruction>
							<instruction>		acvname = fpath.stem;</instruction>
							<instruction />
							<instruction>	cmd.AddLine(&apos;@set af={allfile$|noterm|regex=(.*)|to=&lt;\\1&gt;}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@set af={=RegExS($af,&quot;(&lt;|&gt;)&quot;,&quot;&quot;&quot;&quot;)=}&apos;);</instruction>
							<instruction />
							<instruction>	//cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;{sourcepath}&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;&apos;+fpath+&apos;\\&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;SELECT &quot;&apos;+acvname+&apos;&quot; EXACT DESELECTNOMATCH SETFOCUS&apos;); //选中压缩后的7z包</instruction>
							<instruction>	cmd.Run;</instruction>
							<instruction>}</instruction>
						</function>
					</button>
					<button backcol="none" display="both" label_pos="right" textcol="none">
						<label>384M ┆ [高压缩比]</label>
						<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
						<function type="script">
							<instruction>@script JScript</instruction>
							<instruction>function OnClick(clickData)</instruction>
							<instruction>{</instruction>
							<instruction>	var cmd = clickData.func.command;</instruction>
							<instruction>	cmd.deselect = false;</instruction>
							<instruction>	var selcount = clickData.func.sourcetab.selected.count;</instruction>
							<instruction>	if(selcount == 0) return;</instruction>
							<instruction>	var spath = clickData.func.sourcetab.path;</instruction>
							<instruction>	var fpath = clickData.func.sourcetab.selected[0].path;</instruction>
							<instruction>	var apppath = &apos;&quot;/home\\_Green\\7z极限压缩\\7z极限压缩.bat&quot; UltiCom LZMA &quot;单线程 LZMA 384M&quot; &quot;384m&quot; &apos;;</instruction>
							<instruction>	cmd.AddLine(&quot;@noprogress&quot;);</instruction>
							<instruction>	//cmd.AddLine(&apos;cd &quot;{sourcepath}&quot;&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;cd &quot;&apos;+fpath+&apos;\\&quot;&apos;);</instruction>
							<instruction />
							<instruction>	var acvname = &apos;{file}&apos;;</instruction>
							<instruction>	//if(selcount &gt; 1 &amp;&amp; spath.test_root) //非磁盘根目录</instruction>
							<instruction>		//acvname = &apos;{sourcepath|nopath|noterm}&apos;;</instruction>
							<instruction>	if(selcount &gt; 1 &amp;&amp; fpath.test_root) //非磁盘根目录</instruction>
							<instruction>		acvname = fpath.stem;</instruction>
							<instruction />
							<instruction>	cmd.AddLine(&apos;@set af={allfile$|noterm|regex=(.*)|to=&lt;\\1&gt;}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@set af={=RegExS($af,&quot;(&lt;|&gt;)&quot;,&quot;&quot;&quot;&quot;)=}&apos;);</instruction>
							<instruction />
							<instruction>	//cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;{sourcepath}&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;&apos;+fpath+&apos;\\&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;SELECT &quot;&apos;+acvname+&apos;&quot; EXACT DESELECTNOMATCH SETFOCUS&apos;); //选中压缩后的7z包</instruction>
							<instruction>	cmd.Run;</instruction>
							<instruction>}</instruction>
						</function>
					</button>
					<button backcol="none" display="both" label_pos="right" textcol="none">
						<label>512M ┆ [较大内存]</label>
						<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
						<function type="script">
							<instruction>@script JScript</instruction>
							<instruction>function OnClick(clickData)</instruction>
							<instruction>{</instruction>
							<instruction>	var cmd = clickData.func.command;</instruction>
							<instruction>	cmd.deselect = false;</instruction>
							<instruction>	var selcount = clickData.func.sourcetab.selected.count;</instruction>
							<instruction>	if(selcount == 0) return;</instruction>
							<instruction>	var spath = clickData.func.sourcetab.path;</instruction>
							<instruction>	var fpath = clickData.func.sourcetab.selected[0].path;</instruction>
							<instruction>	var apppath = &apos;&quot;/home\\_Green\\7z极限压缩\\7z极限压缩.bat&quot; UltiCom LZMA &quot;单线程 LZMA 512M&quot; &quot;512m&quot; &apos;;</instruction>
							<instruction>	cmd.AddLine(&quot;@noprogress&quot;);</instruction>
							<instruction>	//cmd.AddLine(&apos;cd &quot;{sourcepath}&quot;&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;cd &quot;&apos;+fpath+&apos;\\&quot;&apos;);</instruction>
							<instruction />
							<instruction>	var acvname = &apos;{file}&apos;;</instruction>
							<instruction>	//if(selcount &gt; 1 &amp;&amp; spath.test_root) //非磁盘根目录</instruction>
							<instruction>		//acvname = &apos;{sourcepath|nopath|noterm}&apos;;</instruction>
							<instruction>	if(selcount &gt; 1 &amp;&amp; fpath.test_root) //非磁盘根目录</instruction>
							<instruction>		acvname = fpath.stem;</instruction>
							<instruction />
							<instruction>	cmd.AddLine(&apos;@set af={allfile$|noterm|regex=(.*)|to=&lt;\\1&gt;}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@set af={=RegExS($af,&quot;(&lt;|&gt;)&quot;,&quot;&quot;&quot;&quot;)=}&apos;);</instruction>
							<instruction />
							<instruction>	//cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;{sourcepath}&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;&apos;+fpath+&apos;\\&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;SELECT &quot;&apos;+acvname+&apos;&quot; EXACT DESELECTNOMATCH SETFOCUS&apos;); //选中压缩后的7z包</instruction>
							<instruction>	cmd.Run;</instruction>
							<instruction>}</instruction>
						</function>
					</button>
					<button backcol="none" display="both" label_pos="right" textcol="none">
						<label>768M ┆ [超大内存]</label>
						<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
						<function type="script">
							<instruction>@script JScript</instruction>
							<instruction>function OnClick(clickData)</instruction>
							<instruction>{</instruction>
							<instruction>	var cmd = clickData.func.command;</instruction>
							<instruction>	cmd.deselect = false;</instruction>
							<instruction>	var selcount = clickData.func.sourcetab.selected.count;</instruction>
							<instruction>	if(selcount == 0) return;</instruction>
							<instruction>	var spath = clickData.func.sourcetab.path;</instruction>
							<instruction>	var fpath = clickData.func.sourcetab.selected[0].path;</instruction>
							<instruction>	var apppath = &apos;&quot;/home\\_Green\\7z极限压缩\\7z极限压缩.bat&quot; UltiCom LZMA &quot;单线程 LZMA 768M&quot; &quot;768m&quot; &apos;;</instruction>
							<instruction>	cmd.AddLine(&quot;@noprogress&quot;);</instruction>
							<instruction>	//cmd.AddLine(&apos;cd &quot;{sourcepath}&quot;&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;cd &quot;&apos;+fpath+&apos;\\&quot;&apos;);</instruction>
							<instruction />
							<instruction>	var acvname = &apos;{file}&apos;;</instruction>
							<instruction>	//if(selcount &gt; 1 &amp;&amp; spath.test_root) //非磁盘根目录</instruction>
							<instruction>		//acvname = &apos;{sourcepath|nopath|noterm}&apos;;</instruction>
							<instruction>	if(selcount &gt; 1 &amp;&amp; fpath.test_root) //非磁盘根目录</instruction>
							<instruction>		acvname = fpath.stem;</instruction>
							<instruction />
							<instruction>	cmd.AddLine(&apos;@set af={allfile$|noterm|regex=(.*)|to=&lt;\\1&gt;}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@set af={=RegExS($af,&quot;(&lt;|&gt;)&quot;,&quot;&quot;&quot;&quot;)=}&apos;);</instruction>
							<instruction />
							<instruction>	//cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;{sourcepath}&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;&apos;+fpath+&apos;\\&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;SELECT &quot;&apos;+acvname+&apos;&quot; EXACT DESELECTNOMATCH SETFOCUS&apos;); //选中压缩后的7z包</instruction>
							<instruction>	cmd.Run;</instruction>
							<instruction>}</instruction>
						</function>
					</button>
				</button>
				<button backcol="#afcbaa" display="both" textcol="none" type="menu">
					<label>多线程 LZMA2 (较快)</label>
					<icon1>/home\_Green\7z极限压缩\icon/菜单图标.ico,0</icon1>
					<button backcol="none" display="both" label_pos="right" textcol="none">
						<label>128M ┆ [较小内存]</label>
						<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
						<function type="script">
							<instruction>@script JScript</instruction>
							<instruction>function OnClick(clickData)</instruction>
							<instruction>{</instruction>
							<instruction>	var cmd = clickData.func.command;</instruction>
							<instruction>	cmd.deselect = false;</instruction>
							<instruction>	var selcount = clickData.func.sourcetab.selected.count;</instruction>
							<instruction>	if(selcount == 0) return;</instruction>
							<instruction>	var spath = clickData.func.sourcetab.path;</instruction>
							<instruction>	var fpath = clickData.func.sourcetab.selected[0].path;</instruction>
							<instruction>	var apppath = &apos;&quot;/home\\_Green\\7z极限压缩\\7z极限压缩.bat&quot; UltiCom LZMA2 &quot;多线程 LZMA2 128M&quot; &quot;128m&quot; &apos;;</instruction>
							<instruction>	cmd.AddLine(&quot;@noprogress&quot;);</instruction>
							<instruction>	//cmd.AddLine(&apos;cd &quot;{sourcepath}&quot;&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;cd &quot;&apos;+fpath+&apos;\\&quot;&apos;);</instruction>
							<instruction />
							<instruction>	var acvname = &apos;{file}&apos;;</instruction>
							<instruction>	//if(selcount &gt; 1 &amp;&amp; spath.test_root) //非磁盘根目录</instruction>
							<instruction>		//acvname = &apos;{sourcepath|nopath|noterm}&apos;;</instruction>
							<instruction>	if(selcount &gt; 1 &amp;&amp; fpath.test_root) //非磁盘根目录</instruction>
							<instruction>		acvname = fpath.stem;</instruction>
							<instruction />
							<instruction>	cmd.AddLine(&apos;@set af={allfile$|noterm|regex=(.*)|to=&lt;\\1&gt;}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@set af={=RegExS($af,&quot;(&lt;|&gt;)&quot;,&quot;&quot;&quot;&quot;)=}&apos;);</instruction>
							<instruction />
							<instruction>	//cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;{sourcepath}&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;&apos;+fpath+&apos;\\&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;SELECT &quot;&apos;+acvname+&apos;&quot; EXACT DESELECTNOMATCH SETFOCUS&apos;); //选中压缩后的7z包</instruction>
							<instruction>	cmd.Run;</instruction>
							<instruction>}</instruction>
						</function>
					</button>
					<button backcol="none" display="both" label_pos="right" textcol="none">
						<label>128M ┆ [ f=BCJ2 ]</label>
						<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
						<function type="script">
							<instruction>@script JScript</instruction>
							<instruction>function OnClick(clickData)</instruction>
							<instruction>{</instruction>
							<instruction>	var cmd = clickData.func.command;</instruction>
							<instruction>	cmd.deselect = false;</instruction>
							<instruction>	var selcount = clickData.func.sourcetab.selected.count;</instruction>
							<instruction>	if(selcount == 0) return;</instruction>
							<instruction>	var spath = clickData.func.sourcetab.path;</instruction>
							<instruction>	var fpath = clickData.func.sourcetab.selected[0].path;</instruction>
							<instruction>	var apppath = &apos;&quot;/home\\_Green\\7z极限压缩\\7z极限压缩.bat&quot; UltiCom LBCJ2 &quot;多线程 LZMA2 128M f=BCJ2&quot; &quot;128m&quot; &apos;;</instruction>
							<instruction>	cmd.AddLine(&quot;@noprogress&quot;);</instruction>
							<instruction>	//cmd.AddLine(&apos;cd &quot;{sourcepath}&quot;&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;cd &quot;&apos;+fpath+&apos;\\&quot;&apos;);</instruction>
							<instruction />
							<instruction>	var acvname = &apos;{file}&apos;;</instruction>
							<instruction>	//if(selcount &gt; 1 &amp;&amp; spath.test_root) //非磁盘根目录</instruction>
							<instruction>		//acvname = &apos;{sourcepath|nopath|noterm}&apos;;</instruction>
							<instruction>	if(selcount &gt; 1 &amp;&amp; fpath.test_root) //非磁盘根目录</instruction>
							<instruction>		acvname = fpath.stem;</instruction>
							<instruction />
							<instruction>	cmd.AddLine(&apos;@set af={allfile$|noterm|regex=(.*)|to=&lt;\\1&gt;}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@set af={=RegExS($af,&quot;(&lt;|&gt;)&quot;,&quot;&quot;&quot;&quot;)=}&apos;);</instruction>
							<instruction />
							<instruction>	//cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;{sourcepath}&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;&apos;+fpath+&apos;\\&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;SELECT &quot;&apos;+acvname+&apos;&quot; EXACT DESELECTNOMATCH SETFOCUS&apos;); //选中压缩后的7z包</instruction>
							<instruction>	cmd.Run;</instruction>
							<instruction>}</instruction>
						</function>
					</button>
					<button backcol="none" display="both" label_pos="right" textcol="none">
						<label>256M ┆ [中等内存]</label>
						<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
						<function type="script">
							<instruction>@script JScript</instruction>
							<instruction>function OnClick(clickData)</instruction>
							<instruction>{</instruction>
							<instruction>	var cmd = clickData.func.command;</instruction>
							<instruction>	cmd.deselect = false;</instruction>
							<instruction>	var selcount = clickData.func.sourcetab.selected.count;</instruction>
							<instruction>	if(selcount == 0) return;</instruction>
							<instruction>	var spath = clickData.func.sourcetab.path;</instruction>
							<instruction>	var fpath = clickData.func.sourcetab.selected[0].path;</instruction>
							<instruction>	var apppath = &apos;&quot;/home\\_Green\\7z极限压缩\\7z极限压缩.bat&quot; UltiCom LZMA2 &quot;多线程 LZMA2 256M&quot; &quot;256m&quot; &apos;;</instruction>
							<instruction>	cmd.AddLine(&quot;@noprogress&quot;);</instruction>
							<instruction>	//cmd.AddLine(&apos;cd &quot;{sourcepath}&quot;&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;cd &quot;&apos;+fpath+&apos;\\&quot;&apos;);</instruction>
							<instruction />
							<instruction>	var acvname = &apos;{file}&apos;;</instruction>
							<instruction>	//if(selcount &gt; 1 &amp;&amp; spath.test_root) //非磁盘根目录</instruction>
							<instruction>		//acvname = &apos;{sourcepath|nopath|noterm}&apos;;</instruction>
							<instruction>	if(selcount &gt; 1 &amp;&amp; fpath.test_root) //非磁盘根目录</instruction>
							<instruction>		acvname = fpath.stem;</instruction>
							<instruction />
							<instruction>	cmd.AddLine(&apos;@set af={allfile$|noterm|regex=(.*)|to=&lt;\\1&gt;}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@set af={=RegExS($af,&quot;(&lt;|&gt;)&quot;,&quot;&quot;&quot;&quot;)=}&apos;);</instruction>
							<instruction />
							<instruction>	//cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;{sourcepath}&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;&apos;+fpath+&apos;\\&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;SELECT &quot;&apos;+acvname+&apos;&quot; EXACT DESELECTNOMATCH SETFOCUS&apos;); //选中压缩后的7z包</instruction>
							<instruction>	cmd.Run;</instruction>
							<instruction>}</instruction>
						</function>
					</button>
					<button backcol="none" display="both" label_pos="right" textcol="none">
						<label>256M ┆ [ f=BCJ2 ]</label>
						<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
						<function type="script">
							<instruction>@script JScript</instruction>
							<instruction>function OnClick(clickData)</instruction>
							<instruction>{</instruction>
							<instruction>	var cmd = clickData.func.command;</instruction>
							<instruction>	cmd.deselect = false;</instruction>
							<instruction>	var selcount = clickData.func.sourcetab.selected.count;</instruction>
							<instruction>	if(selcount == 0) return;</instruction>
							<instruction>	var spath = clickData.func.sourcetab.path;</instruction>
							<instruction>	var fpath = clickData.func.sourcetab.selected[0].path;</instruction>
							<instruction>	var apppath = &apos;&quot;/home\\_Green\\7z极限压缩\\7z极限压缩.bat&quot; UltiCom LBCJ2 &quot;多线程 LZMA2 256M f=BCJ2&quot; &quot;256m&quot; &apos;;</instruction>
							<instruction>	cmd.AddLine(&quot;@noprogress&quot;);</instruction>
							<instruction>	//cmd.AddLine(&apos;cd &quot;{sourcepath}&quot;&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;cd &quot;&apos;+fpath+&apos;\\&quot;&apos;);</instruction>
							<instruction />
							<instruction>	var acvname = &apos;{file}&apos;;</instruction>
							<instruction>	//if(selcount &gt; 1 &amp;&amp; spath.test_root) //非磁盘根目录</instruction>
							<instruction>		//acvname = &apos;{sourcepath|nopath|noterm}&apos;;</instruction>
							<instruction>	if(selcount &gt; 1 &amp;&amp; fpath.test_root) //非磁盘根目录</instruction>
							<instruction>		acvname = fpath.stem;</instruction>
							<instruction />
							<instruction>	cmd.AddLine(&apos;@set af={allfile$|noterm|regex=(.*)|to=&lt;\\1&gt;}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@set af={=RegExS($af,&quot;(&lt;|&gt;)&quot;,&quot;&quot;&quot;&quot;)=}&apos;);</instruction>
							<instruction />
							<instruction>	//cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;{sourcepath}&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;&apos;+fpath+&apos;\\&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;SELECT &quot;&apos;+acvname+&apos;&quot; EXACT DESELECTNOMATCH SETFOCUS&apos;); //选中压缩后的7z包</instruction>
							<instruction>	cmd.Run;</instruction>
							<instruction>}</instruction>
						</function>
					</button>
					<button backcol="none" display="both" label_pos="right" textcol="none">
						<label>384M ┆ [高压缩比]</label>
						<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
						<function type="script">
							<instruction>@script JScript</instruction>
							<instruction>function OnClick(clickData)</instruction>
							<instruction>{</instruction>
							<instruction>	var cmd = clickData.func.command;</instruction>
							<instruction>	cmd.deselect = false;</instruction>
							<instruction>	var selcount = clickData.func.sourcetab.selected.count;</instruction>
							<instruction>	if(selcount == 0) return;</instruction>
							<instruction>	var spath = clickData.func.sourcetab.path;</instruction>
							<instruction>	var fpath = clickData.func.sourcetab.selected[0].path;</instruction>
							<instruction>	var apppath = &apos;&quot;/home\\_Green\\7z极限压缩\\7z极限压缩.bat&quot; UltiCom LZMA2 &quot;多线程 LZMA2 384M&quot; &quot;384m&quot; &apos;;</instruction>
							<instruction>	cmd.AddLine(&quot;@noprogress&quot;);</instruction>
							<instruction>	//cmd.AddLine(&apos;cd &quot;{sourcepath}&quot;&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;cd &quot;&apos;+fpath+&apos;\\&quot;&apos;);</instruction>
							<instruction />
							<instruction>	var acvname = &apos;{file}&apos;;</instruction>
							<instruction>	//if(selcount &gt; 1 &amp;&amp; spath.test_root) //非磁盘根目录</instruction>
							<instruction>		//acvname = &apos;{sourcepath|nopath|noterm}&apos;;</instruction>
							<instruction>	if(selcount &gt; 1 &amp;&amp; fpath.test_root) //非磁盘根目录</instruction>
							<instruction>		acvname = fpath.stem;</instruction>
							<instruction />
							<instruction>	cmd.AddLine(&apos;@set af={allfile$|noterm|regex=(.*)|to=&lt;\\1&gt;}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@set af={=RegExS($af,&quot;(&lt;|&gt;)&quot;,&quot;&quot;&quot;&quot;)=}&apos;);</instruction>
							<instruction />
							<instruction>	//cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;{sourcepath}&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;&apos;+fpath+&apos;\\&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;SELECT &quot;&apos;+acvname+&apos;&quot; EXACT DESELECTNOMATCH SETFOCUS&apos;); //选中压缩后的7z包</instruction>
							<instruction>	cmd.Run;</instruction>
							<instruction>}</instruction>
						</function>
					</button>
					<button backcol="#afcbaa" display="both" label_pos="right" textcol="none">
						<label>384M ┆ [ f=BCJ2 ]</label>
						<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
						<function type="script">
							<instruction>@script JScript</instruction>
							<instruction>function OnClick(clickData)</instruction>
							<instruction>{</instruction>
							<instruction>	var cmd = clickData.func.command;</instruction>
							<instruction>	cmd.deselect = false;</instruction>
							<instruction>	var selcount = clickData.func.sourcetab.selected.count;</instruction>
							<instruction>	if(selcount == 0) return;</instruction>
							<instruction>	var spath = clickData.func.sourcetab.path;</instruction>
							<instruction>	var fpath = clickData.func.sourcetab.selected[0].path;</instruction>
							<instruction>	var apppath = &apos;&quot;/home\\_Green\\7z极限压缩\\7z极限压缩.bat&quot; UltiCom LBCJ2 &quot;多线程 LZMA2 384M f=BCJ2&quot; &quot;384m&quot; &apos;;</instruction>
							<instruction>	cmd.AddLine(&quot;@noprogress&quot;);</instruction>
							<instruction>	//cmd.AddLine(&apos;cd &quot;{sourcepath}&quot;&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;cd &quot;&apos;+fpath+&apos;\\&quot;&apos;);</instruction>
							<instruction />
							<instruction>	var acvname = &apos;{file}&apos;;</instruction>
							<instruction>	//if(selcount &gt; 1 &amp;&amp; spath.test_root) //非磁盘根目录</instruction>
							<instruction>		//acvname = &apos;{sourcepath|nopath|noterm}&apos;;</instruction>
							<instruction>	if(selcount &gt; 1 &amp;&amp; fpath.test_root) //非磁盘根目录</instruction>
							<instruction>		acvname = fpath.stem;</instruction>
							<instruction />
							<instruction>	cmd.AddLine(&apos;@set af={allfile$|noterm|regex=(.*)|to=&lt;\\1&gt;}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@set af={=RegExS($af,&quot;(&lt;|&gt;)&quot;,&quot;&quot;&quot;&quot;)=}&apos;);</instruction>
							<instruction />
							<instruction>	//cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;{sourcepath}&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;&apos;+fpath+&apos;\\&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;SELECT &quot;&apos;+acvname+&apos;&quot; EXACT DESELECTNOMATCH SETFOCUS&apos;); //选中压缩后的7z包</instruction>
							<instruction>	cmd.Run;</instruction>
							<instruction>}</instruction>
						</function>
					</button>
					<button backcol="none" display="both" label_pos="right" textcol="none">
						<label>512M ┆ [较大内存]</label>
						<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
						<function type="script">
							<instruction>@script JScript</instruction>
							<instruction>function OnClick(clickData)</instruction>
							<instruction>{</instruction>
							<instruction>	var cmd = clickData.func.command;</instruction>
							<instruction>	cmd.deselect = false;</instruction>
							<instruction>	var selcount = clickData.func.sourcetab.selected.count;</instruction>
							<instruction>	if(selcount == 0) return;</instruction>
							<instruction>	var spath = clickData.func.sourcetab.path;</instruction>
							<instruction>	var fpath = clickData.func.sourcetab.selected[0].path;</instruction>
							<instruction>	var apppath = &apos;&quot;/home\\_Green\\7z极限压缩\\7z极限压缩.bat&quot; UltiCom LZMA2 &quot;多线程 LZMA2 512M&quot; &quot;512m&quot; &apos;;</instruction>
							<instruction>	cmd.AddLine(&quot;@noprogress&quot;);</instruction>
							<instruction>	//cmd.AddLine(&apos;cd &quot;{sourcepath}&quot;&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;cd &quot;&apos;+fpath+&apos;\\&quot;&apos;);</instruction>
							<instruction />
							<instruction>	var acvname = &apos;{file}&apos;;</instruction>
							<instruction>	//if(selcount &gt; 1 &amp;&amp; spath.test_root) //非磁盘根目录</instruction>
							<instruction>		//acvname = &apos;{sourcepath|nopath|noterm}&apos;;</instruction>
							<instruction>	if(selcount &gt; 1 &amp;&amp; fpath.test_root) //非磁盘根目录</instruction>
							<instruction>		acvname = fpath.stem;</instruction>
							<instruction />
							<instruction>	cmd.AddLine(&apos;@set af={allfile$|noterm|regex=(.*)|to=&lt;\\1&gt;}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@set af={=RegExS($af,&quot;(&lt;|&gt;)&quot;,&quot;&quot;&quot;&quot;)=}&apos;);</instruction>
							<instruction />
							<instruction>	//cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;{sourcepath}&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;&apos;+fpath+&apos;\\&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;SELECT &quot;&apos;+acvname+&apos;&quot; EXACT DESELECTNOMATCH SETFOCUS&apos;); //选中压缩后的7z包</instruction>
							<instruction>	cmd.Run;</instruction>
							<instruction>}</instruction>
						</function>
					</button>
					<button backcol="none" display="both" label_pos="right" textcol="none">
						<label>512M ┆ [ f=BCJ2 ]</label>
						<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
						<function type="script">
							<instruction>@script JScript</instruction>
							<instruction>function OnClick(clickData)</instruction>
							<instruction>{</instruction>
							<instruction>	var cmd = clickData.func.command;</instruction>
							<instruction>	cmd.deselect = false;</instruction>
							<instruction>	var selcount = clickData.func.sourcetab.selected.count;</instruction>
							<instruction>	if(selcount == 0) return;</instruction>
							<instruction>	var spath = clickData.func.sourcetab.path;</instruction>
							<instruction>	var fpath = clickData.func.sourcetab.selected[0].path;</instruction>
							<instruction>	var apppath = &apos;&quot;/home\\_Green\\7z极限压缩\\7z极限压缩.bat&quot; UltiCom LBCJ2 &quot;多线程 LZMA2 512M f=BCJ2&quot; &quot;512m&quot; &apos;;</instruction>
							<instruction>	cmd.AddLine(&quot;@noprogress&quot;);</instruction>
							<instruction>	//cmd.AddLine(&apos;cd &quot;{sourcepath}&quot;&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;cd &quot;&apos;+fpath+&apos;\\&quot;&apos;);</instruction>
							<instruction />
							<instruction>	var acvname = &apos;{file}&apos;;</instruction>
							<instruction>	//if(selcount &gt; 1 &amp;&amp; spath.test_root) //非磁盘根目录</instruction>
							<instruction>		//acvname = &apos;{sourcepath|nopath|noterm}&apos;;</instruction>
							<instruction>	if(selcount &gt; 1 &amp;&amp; fpath.test_root) //非磁盘根目录</instruction>
							<instruction>		acvname = fpath.stem;</instruction>
							<instruction />
							<instruction>	cmd.AddLine(&apos;@set af={allfile$|noterm|regex=(.*)|to=&lt;\\1&gt;}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@set af={=RegExS($af,&quot;(&lt;|&gt;)&quot;,&quot;&quot;&quot;&quot;)=}&apos;);</instruction>
							<instruction />
							<instruction>	//cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;{sourcepath}&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;&apos;+fpath+&apos;\\&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;SELECT &quot;&apos;+acvname+&apos;&quot; EXACT DESELECTNOMATCH SETFOCUS&apos;); //选中压缩后的7z包</instruction>
							<instruction>	cmd.Run;</instruction>
							<instruction>}</instruction>
						</function>
					</button>
					<button backcol="none" display="both" label_pos="right" textcol="none">
						<label>768M ┆ [超大内存]</label>
						<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
						<function type="script">
							<instruction>@script JScript</instruction>
							<instruction>function OnClick(clickData)</instruction>
							<instruction>{</instruction>
							<instruction>	var cmd = clickData.func.command;</instruction>
							<instruction>	cmd.deselect = false;</instruction>
							<instruction>	var selcount = clickData.func.sourcetab.selected.count;</instruction>
							<instruction>	if(selcount == 0) return;</instruction>
							<instruction>	var spath = clickData.func.sourcetab.path;</instruction>
							<instruction>	var fpath = clickData.func.sourcetab.selected[0].path;</instruction>
							<instruction>	var apppath = &apos;&quot;/home\\_Green\\7z极限压缩\\7z极限压缩.bat&quot; UltiCom LZMA2 &quot;多线程 LZMA2 768M&quot; &quot;768m&quot; &apos;;</instruction>
							<instruction>	cmd.AddLine(&quot;@noprogress&quot;);</instruction>
							<instruction>	//cmd.AddLine(&apos;cd &quot;{sourcepath}&quot;&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;cd &quot;&apos;+fpath+&apos;\\&quot;&apos;);</instruction>
							<instruction />
							<instruction>	var acvname = &apos;{file}&apos;;</instruction>
							<instruction>	//if(selcount &gt; 1 &amp;&amp; spath.test_root) //非磁盘根目录</instruction>
							<instruction>		//acvname = &apos;{sourcepath|nopath|noterm}&apos;;</instruction>
							<instruction>	if(selcount &gt; 1 &amp;&amp; fpath.test_root) //非磁盘根目录</instruction>
							<instruction>		acvname = fpath.stem;</instruction>
							<instruction />
							<instruction>	cmd.AddLine(&apos;@set af={allfile$|noterm|regex=(.*)|to=&lt;\\1&gt;}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@set af={=RegExS($af,&quot;(&lt;|&gt;)&quot;,&quot;&quot;&quot;&quot;)=}&apos;);</instruction>
							<instruction />
							<instruction>	//cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;{sourcepath}&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;&apos;+fpath+&apos;\\&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;SELECT &quot;&apos;+acvname+&apos;&quot; EXACT DESELECTNOMATCH SETFOCUS&apos;); //选中压缩后的7z包</instruction>
							<instruction>	cmd.Run;</instruction>
							<instruction>}</instruction>
						</function>
					</button>
					<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none">
						<label>768M ┆ [ f=BCJ2 ]</label>
						<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
						<function type="script">
							<instruction>@script JScript</instruction>
							<instruction>function OnClick(clickData)</instruction>
							<instruction>{</instruction>
							<instruction>	var cmd = clickData.func.command;</instruction>
							<instruction>	cmd.deselect = false;</instruction>
							<instruction>	var selcount = clickData.func.sourcetab.selected.count;</instruction>
							<instruction>	if(selcount == 0) return;</instruction>
							<instruction>	var spath = clickData.func.sourcetab.path;</instruction>
							<instruction>	var fpath = clickData.func.sourcetab.selected[0].path;</instruction>
							<instruction>	var apppath = &apos;&quot;/home\\_Green\\7z极限压缩\\7z极限压缩.bat&quot; UltiCom LBCJ2 &quot;多线程 LZMA2 768M f=BCJ2&quot; &quot;768m&quot; &apos;;</instruction>
							<instruction>	cmd.AddLine(&quot;@noprogress&quot;);</instruction>
							<instruction>	//cmd.AddLine(&apos;cd &quot;{sourcepath}&quot;&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;cd &quot;&apos;+fpath+&apos;\\&quot;&apos;);</instruction>
							<instruction />
							<instruction>	var acvname = &apos;{file}&apos;;</instruction>
							<instruction>	//if(selcount &gt; 1 &amp;&amp; spath.test_root) //非磁盘根目录</instruction>
							<instruction>		//acvname = &apos;{sourcepath|nopath|noterm}&apos;;</instruction>
							<instruction>	if(selcount &gt; 1 &amp;&amp; fpath.test_root) //非磁盘根目录</instruction>
							<instruction>		acvname = fpath.stem;</instruction>
							<instruction />
							<instruction>	cmd.AddLine(&apos;@set af={allfile$|noterm|regex=(.*)|to=&lt;\\1&gt;}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@set af={=RegExS($af,&quot;(&lt;|&gt;)&quot;,&quot;&quot;&quot;&quot;)=}&apos;);</instruction>
							<instruction />
							<instruction>	//cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;{sourcepath}&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;&apos;+fpath+&apos;\\&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;SELECT &quot;&apos;+acvname+&apos;&quot; EXACT DESELECTNOMATCH SETFOCUS&apos;); //选中压缩后的7z包</instruction>
							<instruction>	cmd.Run;</instruction>
							<instruction>}</instruction>
						</function>
					</button>
					<button backcol="#96cade" display="both" label_pos="right" textcol="none">
						<label>自定义┆ [ f=BCJ2 ]</label>
						<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
						<function type="script">
							<instruction>@script JScript</instruction>
							<instruction>function OnClick(clickData)</instruction>
							<instruction>{</instruction>
							<instruction>	var cmd = clickData.func.command;</instruction>
							<instruction>	cmd.deselect = false;</instruction>
							<instruction>	var selcount = clickData.func.sourcetab.selected.count;</instruction>
							<instruction>	if(selcount == 0) return;</instruction>
							<instruction>	var spath = clickData.func.sourcetab.path;</instruction>
							<instruction>	var fpath = clickData.func.sourcetab.selected[0].path;</instruction>
							<instruction>	cmd.AddLine(&quot;@noprogress&quot;);</instruction>
							<instruction>	//cmd.AddLine(&apos;cd &quot;{sourcepath}&quot;&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;cd &quot;&apos;+fpath+&apos;\\&quot;&apos;);</instruction>
							<instruction />
							<instruction>	var acvname = &apos;{file}&apos;;</instruction>
							<instruction>	//if(selcount &gt; 1 &amp;&amp; spath.test_root) //非磁盘根目录</instruction>
							<instruction>		//acvname = &apos;{sourcepath|nopath|noterm}&apos;;</instruction>
							<instruction>	if(selcount &gt; 1 &amp;&amp; fpath.test_root) //非磁盘根目录</instruction>
							<instruction>		acvname = fpath.stem;</instruction>
							<instruction />
							<instruction>	cmd.AddLine(&apos;@set af={allfile$|noterm|regex=(.*)|to=&lt;\\1&gt;}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@set af={=RegExS($af,&quot;(&lt;|&gt;)&quot;,&quot;&quot;&quot;&quot;)=}&apos;);</instruction>
							<instruction />
							<instruction>	cmd.AddLine(&apos;@Set var={dlgchoose|压缩参数 ↓\n-t7z -snl -mx=9 -myx -mmt=on -ms=on -mtr=on -mtm=on -mtc=off -mta=off -m0=LZMA2 -mf=BCJ2 -md=[] -mfb=273\n\n字典大小 ↓|默认384M=384m+1M=1m+2M=2m+3M=3m+4M=4m+6M=6m+8M=8m+12M=12m+16M=16m+24M=24m+32M=32m+48M=48m+64M=64m+96M=96m+128M=128m+192M=192m+256M=256m+128M=128m+384M=384m+512M=512m+768M=768m+1024M=1024m+1536M=1536m+2048M=2048m+3072M=3072m+3840M=3840m}&apos;);</instruction>
							<instruction>	var apppath = &apos;&quot;/home\\_Green\\7z极限压缩\\7z极限压缩.bat&quot; UltiCom LBCJ2 &quot;多线程 LZMA2 {$var} f=BCJ2&quot; &quot;{$var}&quot; &apos;;</instruction>
							<instruction />
							<instruction>	//cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;{sourcepath}&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;&apos;+fpath+&apos;\\&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;SELECT &quot;&apos;+acvname+&apos;&quot; EXACT DESELECTNOMATCH SETFOCUS&apos;); //选中压缩后的7z包</instruction>
							<instruction>	cmd.Run;</instruction>
							<instruction>}</instruction>
						</function>
					</button>
					<button backcol="#dce2f1" display="both" label_pos="right" textcol="none">
						<label>自定义┆ [ -mmc= ]</label>
						<icon1>/home\_Green\7z极限压缩\icon/文件图标.ico,0</icon1>
						<function type="script">
							<instruction>@script JScript</instruction>
							<instruction>function OnClick(clickData)</instruction>
							<instruction>{</instruction>
							<instruction>	var cmd = clickData.func.command;</instruction>
							<instruction>	cmd.deselect = false;</instruction>
							<instruction>	var selcount = clickData.func.sourcetab.selected.count;</instruction>
							<instruction>	if(selcount == 0) return;</instruction>
							<instruction>	var spath = clickData.func.sourcetab.path;</instruction>
							<instruction>	var fpath = clickData.func.sourcetab.selected[0].path;</instruction>
							<instruction>	cmd.AddLine(&quot;@noprogress&quot;);</instruction>
							<instruction>	//cmd.AddLine(&apos;cd &quot;{sourcepath}&quot;&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;cd &quot;&apos;+fpath+&apos;\\&quot;&apos;);</instruction>
							<instruction />
							<instruction>	var acvname = &apos;{file}&apos;;</instruction>
							<instruction>	//if(selcount &gt; 1 &amp;&amp; spath.test_root) //非磁盘根目录</instruction>
							<instruction>		//acvname = &apos;{sourcepath|nopath|noterm}&apos;;</instruction>
							<instruction>	if(selcount &gt; 1 &amp;&amp; fpath.test_root) //非磁盘根目录</instruction>
							<instruction>		acvname = fpath.stem;</instruction>
							<instruction />
							<instruction>	cmd.AddLine(&apos;@set af={allfile$|noterm|regex=(.*)|to=&lt;\\1&gt;}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@set af={=RegExS($af,&quot;(&lt;|&gt;)&quot;,&quot;&quot;&quot;&quot;)=}&apos;);</instruction>
							<instruction />
							<instruction>	cmd.AddLine(&apos;@Set var={dlgchoose|压缩参数 ↓\n-t7z -snl -mx=9 -myx -mmt=on -ms=on -mtr=on -mtm=on -mtc=off -mta=off -m0=LZMA2 -mf=BCJ2 -md=[] -mfb=273 -mmc=1000000000\n\n字典大小 ↓|默认384M=384m+1M=1m+2M=2m+3M=3m+4M=4m+6M=6m+8M=8m+12M=12m+16M=16m+24M=24m+32M=32m+48M=48m+64M=64m+96M=96m+128M=128m+192M=192m+256M=256m+128M=128m+384M=384m+512M=512m+768M=768m+1024M=1024m+1536M=1536m+2048M=2048m+3072M=3072m+3840M=3840m}&apos;);</instruction>
							<instruction>	var apppath = &apos;&quot;/home\\_Green\\7z极限压缩\\7z极限压缩.bat&quot; UltiCom LIMMC &quot;多线程 LZMA2 {$var} f=BCJ2 -mmc=∞&quot; &quot;{$var}&quot; &apos;;</instruction>
							<instruction />
							<instruction>	//cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;{sourcepath}&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;&apos;+fpath+&apos;\\&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
							<instruction>	cmd.AddLine(&apos;SELECT &quot;&apos;+acvname+&apos;&quot; EXACT DESELECTNOMATCH SETFOCUS&apos;); //选中压缩后的7z包</instruction>
							<instruction>	cmd.Run;</instruction>
							<instruction>}</instruction>
						</function>
					</button>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>按分卷压缩为7z</label>
					<icon1>#split</icon1>
					<function type="script">
						<instruction>@script JScript</instruction>
						<instruction>function OnClick(clickData)</instruction>
						<instruction>{</instruction>
						<instruction>	var cmd = clickData.func.command;</instruction>
						<instruction>	cmd.deselect = false;</instruction>
						<instruction>	var selcount = clickData.func.sourcetab.selected.count;</instruction>
						<instruction>	if(selcount == 0) return;</instruction>
						<instruction>	var spath = clickData.func.sourcetab.path;</instruction>
						<instruction>	var fpath = clickData.func.sourcetab.selected[0].path;</instruction>
						<instruction>	cmd.AddLine(&quot;@noprogress&quot;);</instruction>
						<instruction>	//cmd.AddLine(&apos;cd &quot;{sourcepath}&quot;&apos;);</instruction>
						<instruction>	cmd.AddLine(&apos;cd &quot;&apos;+fpath+&apos;\\&quot;&apos;);</instruction>
						<instruction />
						<instruction>	var acvname = &apos;{file}&apos;;</instruction>
						<instruction>	//if(selcount &gt; 1 &amp;&amp; spath.test_root) //非磁盘根目录</instruction>
						<instruction>		//acvname = &apos;{sourcepath|nopath|noterm}&apos;;</instruction>
						<instruction>	if(selcount &gt; 1 &amp;&amp; fpath.test_root) //非磁盘根目录</instruction>
						<instruction>		acvname = fpath.stem;</instruction>
						<instruction />
						<instruction>	cmd.AddLine(&apos;@set af={allfile$|noterm|regex=(.*)|to=&lt;\\1&gt;}&apos;);</instruction>
						<instruction>	cmd.AddLine(&apos;@set af={=RegExS($af,&quot;(&lt;|&gt;)&quot;,&quot;&quot;&quot;&quot;)=}&apos;);</instruction>
						<instruction />
						<instruction>	cmd.AddLine(&apos;@set var = {dlgchoose|选择分卷大小 ↓|5M=5m+10M=10m+25M=25m+32M=32m+50M=50m+64M=64m+75M=75m+100M=100m+128M=128m+256M=256m+500M=500m+512M=512m+1000M=1000m+1024M=1024m+650M - CD=650m+700M - CD=700m+4092M - FAT=4092m+4480M - DVD=4480m+8128M - DVD DL=8128m+23040M - BD=23040m}&apos;);</instruction>
						<instruction>	var apppath = &apos;&quot;/home\\_Green\\7z极限压缩\\7z极限压缩.bat&quot; UltiCom Split &quot;按 {$var} 分卷压缩为7z&quot; &quot;7|{$var}&quot; &apos;;</instruction>
						<instruction />
						<instruction>	//cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;{sourcepath}&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
						<instruction>	cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;&apos;+fpath+&apos;\\&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
						<instruction>	cmd.AddLine(&apos;SELECT &quot;&apos;+acvname+&apos;&quot; EXACT DESELECTNOMATCH SETFOCUS&apos;); //选中压缩后的7z包</instruction>
						<instruction>	cmd.Run;</instruction>
						<instruction>}</instruction>
					</function>
				</button>
				<button backcol="none" display="both" label_pos="right" textcol="none">
					<label>压缩为zip</label>
					<icon1>/home\_Green\7z极限压缩\icon/zip.ico,0</icon1>
					<function type="script">
						<instruction>@script JScript</instruction>
						<instruction>function OnClick(clickData)</instruction>
						<instruction>{</instruction>
						<instruction>	var cmd = clickData.func.command;</instruction>
						<instruction>	cmd.deselect = false;</instruction>
						<instruction>	var selcount = clickData.func.sourcetab.selected.count;</instruction>
						<instruction>	if(selcount == 0) return;</instruction>
						<instruction>	var spath = clickData.func.sourcetab.path;</instruction>
						<instruction>	var fpath = clickData.func.sourcetab.selected[0].path;</instruction>
						<instruction>	var apppath = &apos;&quot;/home\\_Green\\7z极限压缩\\7z极限压缩.bat&quot; UltiCom ZIP &quot;最高等级压缩为zip&quot; &quot;9|Deflate&quot; &apos;;</instruction>
						<instruction>	cmd.AddLine(&quot;@noprogress&quot;);</instruction>
						<instruction>	//cmd.AddLine(&apos;cd &quot;{sourcepath}&quot;&apos;);</instruction>
						<instruction>	cmd.AddLine(&apos;cd &quot;&apos;+fpath+&apos;\\&quot;&apos;);</instruction>
						<instruction />
						<instruction>	var acvname = &apos;{file}&apos;;</instruction>
						<instruction>	//if(selcount &gt; 1 &amp;&amp; spath.test_root) //非磁盘根目录</instruction>
						<instruction>		//acvname = &apos;{sourcepath|nopath|noterm}&apos;;</instruction>
						<instruction>	if(selcount &gt; 1 &amp;&amp; fpath.test_root) //非磁盘根目录</instruction>
						<instruction>		acvname = fpath.stem;</instruction>
						<instruction />
						<instruction>	cmd.AddLine(&apos;@set af={allfile$|noterm|regex=(.*)|to=&lt;\\1&gt;}&apos;);</instruction>
						<instruction>	cmd.AddLine(&apos;@set af={=RegExS($af,&quot;(&lt;|&gt;)&quot;,&quot;&quot;&quot;&quot;)=}&apos;);</instruction>
						<instruction />
						<instruction>	//cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;{sourcepath}&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
						<instruction>	cmd.AddLine(&apos;@runonce:&apos;+apppath+&apos;&quot;&apos;+fpath+&apos;\\&apos;+acvname+&apos;.[-out]!&quot;&apos;+&apos; {$af}&apos;);</instruction>
						<instruction>	cmd.AddLine(&apos;SELECT &quot;&apos;+acvname+&apos;&quot; EXACT DESELECTNOMATCH SETFOCUS&apos;); //选中压缩后的7z包</instruction>
						<instruction>	cmd.Run;</instruction>
						<instruction>}</instruction>
					</function>
				</button>
			</button>
		</button>
		<button backcol="none" display="icon" label_pos="right" separate="yes" textcol="none" type="menu_button">
			<label>自动熄屏</label>
			<tip>达到无操作时间，自动关闭屏幕</tip>
			<icon1>/home\_Green\自动熄屏\关闭显示器.exe,0</icon1>
			<function type="normal">
				<instruction>@set var = {dlgchoose|无操作熄屏 ↓|立即熄屏=3+10秒后=10+30秒后=30+1分钟后=60+10分钟后=600+15分钟后=900+30分钟后=1800+45分钟后=2700+1小时后=3600}</instruction>
				<instruction>@async:&quot;/home\_Green\自动熄屏\关闭显示器.exe&quot; -nop -c:99 {$var}</instruction>
			</function>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>自动熄屏</label>
				<tip>达到无操作时间，自动关闭屏幕</tip>
				<icon1>/home\_Green\自动熄屏\关闭显示器.exe,0</icon1>
				<function type="normal">
					<instruction>@set var = {dlgchoose|无操作熄屏 ↓|立即熄屏=3+10秒后=10+30秒后=30+1分钟后=60+10分钟后=600+15分钟后=900+30分钟后=1800+45分钟后=2700+1小时后=3600}</instruction>
					<instruction>@async:&quot;/home\_Green\自动熄屏\关闭显示器.exe&quot; -nop -c:99 {$var}</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>倒计时锁屏</label>
				<icon1>/system/shell32.dll,-45</icon1>
				<function type="normal">
					<instruction>@set var = {dlgchoose|倒计时锁屏 ↓|3秒后=3+10秒后=10+30秒后=30+1分钟后=60+10分钟后=600+15分钟后=900+30分钟后=1800+45分钟后=2700+1小时后=3600}</instruction>
					<instruction>cmd /c Title &amp;(if exist %WinDir%\System32\ureg.dll Mode 36,5 2&gt;nul)&amp;Color 8f&amp;echo.&amp;echo           [开始倒计时锁屏]&amp;timeout /t {$var} 2&gt;nul&amp;rundll32.exe user32.dll,LockWorkStation 1&gt;nul 2&gt;nul</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>倒计时关机</label>
				<icon1>/system/shell32.dll,-28</icon1>
				<function type="normal">
					<instruction>@set var = {dlgchoose|倒计时关机 ↓|3秒后=3+10秒后=10+30秒后=30+1分钟后=60+10分钟后=600+15分钟后=900+30分钟后=1800+45分钟后=2700+1小时后=3600}</instruction>
					<instruction>cmd /c Title &amp;(if exist %WinDir%\System32\ureg.dll Mode 36,5 2&gt;nul)&amp;Color cf&amp;echo.&amp;echo           [开始倒计时关机]&amp;timeout /t {$var} 2&gt;nul&amp;shutdown /s /t 00 1&gt;nul 2&gt;nul</instruction>
				</function>
			</button>
		</button>
		<button backcol="none" display="icon" label_pos="right" textcol="none">
			<label>[折叠/展开] 所有分组</label>
			<icon1>#default:groupby</icon1>
			<function type="normal">
				<instruction>@if:enabled Go GROUPCOLLAPSE=*</instruction>
				<instruction>GO GROUPCOLLAPSE=*</instruction>
				<instruction>@if:else</instruction>
				<instruction>GO GROUPEXPAND=*</instruction>
			</function>
		</button>
		<button backcol="none" display="icon" label_pos="right" textcol="none" type="three_button">
			<label>逐级展开目录</label>
			<icon1>#foldertree</icon1>
			<button backcol="none" display="both" textcol="none">
				<label>左: 逐级展开并选择</label>
				<tip>逐级展开目录并选中其中子项</tip>
				<icon1>#foldertree</icon1>
				<function type="normal">
					<instruction>@nodeselect</instruction>
					<instruction>// 展开选择的目录, 然后选择子项;</instruction>
					<instruction>// 重复运行, 就能逐级展开</instruction>
					<instruction>Go EXPANDBRANCH FROMSEL </instruction>
					<instruction>Select * PATH={filepath$} </instruction>
				</function>
			</button>
			<button backcol="none" display="both" textcol="none">
				<label>右: 折叠所有目录 (包括子目录)</label>
				<tip>折叠所有目录 (包括子目录)</tip>
				<icon1>#foldertree</icon1>
				<function type="normal">
					<instruction>// 关闭&quot;可展开文件夹&quot;, 然后再开启, 目的是让所有目录(包括子目录)都重新折叠</instruction>
					<instruction>Set EXPANDABLEFOLDERS=off</instruction>
					<instruction>Set EXPANDABLEFOLDERS=on</instruction>
				</function>
			</button>
			<button backcol="none" display="both" textcol="none">
				<label>中: 折叠所有顶级目录</label>
				<tip>折叠当前 tab 所有顶级目录</tip>
				<icon1>#foldertree</icon1>
				<function type="normal">
					<instruction>//折叠当前tab所有目录</instruction>
					<instruction>Go * EXPANDBRANCH=wild,collapse</instruction>
				</function>
			</button>
		</button>
		<button backcol="none" display="icon" label_pos="right" textcol="none">
			<label>清空回收站</label>
			<icon1>#default:delete2</icon1>
			<function type="normal">
				<instruction>//若回收站为空，则切换图标</instruction>
				<instruction>@icon:gotrash,RECYCLEBINEMPTY</instruction>
				<instruction>Delete EMPTYRECYCLE</instruction>
			</function>
		</button>
		<button backcol="none" display="label" field_type="spacer" label_pos="right" size="full" textcol="none">
			<label>分隔符</label>
			<function type="normal">
				<instruction>Set SPACER</instruction>
			</function>
		</button>
		<button backcol="none" display="both" dropdown_glyph="yes" label_pos="left" textcol="none" type="menu">
			<label>帮助(&amp;H)</label>
			<icon1>#help</icon1>
			<button backcol="none" display="both" hotkey="f1" hotkey_label="yes" label_pos="right" textcol="none">
				<label>帮助(&amp;H)</label>
				<tip>显示 Directory Opus 的联机帮助</tip>
				<icon1>#help</icon1>
				<function type="normal">
					<instruction>Help</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>版本说明(&amp;N)</label>
				<tip>显示当前版本的版本说明.</tip>
				<icon1>#releasenotes</icon1>
				<function type="normal">
					<instruction>Help RELEASENOTES</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none" type="menu">
				<label>日志(&amp;L)</label>
				<icon1>#logs</icon1>
				<button backcol="none" display="label" label_pos="right" textcol="none">
					<label>F&amp;TP 日志(F)</label>
					<tip>显示活动的 FTP 日志</tip>
					<function type="normal">
						<instruction>Set UTILITY=FTPLog,Toggle</instruction>
					</function>
				</button>
				<button backcol="none" display="label" label_pos="right" textcol="none">
					<label>文件日志(&amp;F)</label>
					<tip>显示文件和文件夹操作日志</tip>
					<function type="normal">
						<instruction>Set UTILITY=FileLog,Toggle</instruction>
					</function>
				</button>
				<button backcol="none" display="label" label_pos="right" textcol="none">
					<label>撤消日志(&amp;U)</label>
					<tip>撤消上次的文件操作(复制、删除、重命名、移动等)</tip>
					<function type="normal">
						<instruction>Set UTILITY=Undo,Toggle</instruction>
					</function>
				</button>
				<button backcol="none" display="label" label_pos="right" textcol="none">
					<label>邮件日志(&amp;E)</label>
					<tip>显示发送和未发送邮件的日志</tip>
					<function type="normal">
						<instruction>Set UTILITY=Email,Toggle</instruction>
					</function>
				</button>
				<button backcol="none" display="label" label_pos="right" textcol="none">
					<label>脚本日志(&amp;S)</label>
					<tip>显示脚本和求值器输出的日志</tip>
					<function type="normal">
						<instruction>Set UTILITY=ScriptLog,Toggle</instruction>
					</function>
				</button>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none" type="menu">
				<label>&amp;Directory Opus 网页(D)</label>
				<icon1>#weblinks</icon1>
				<button backcol="none" display="label" label_pos="right" textcol="none">
					<label>&amp;Directory Opus 主页(D)</label>
					<tip>访问 GP Software 主站点</tip>
					<function type="normal">
						<instruction>https://{gps-redirect}?page=home</instruction>
					</function>
				</button>
				<button backcol="none" display="label" label_pos="right" separate="yes" textcol="none">
					<label>技术支持(&amp;T)</label>
					<tip>Directory Opus技术支持论坛</tip>
					<function type="normal">
						<instruction>https://{gps-redirect}?page=resource</instruction>
					</function>
				</button>
				<button backcol="none" display="label" label_pos="right" textcol="none">
					<label>产品更新(&amp;P)</label>
					<tip>访问最近的 Directory Opus 推送</tip>
					<function type="normal">
						<instruction>https://{gps-redirect}?page=news</instruction>
					</function>
				</button>
				<button backcol="none" display="label" label_pos="right" textcol="none">
					<label>常见问题(&amp;F)</label>
					<tip>访问FAQ</tip>
					<function type="normal">
						<instruction>https://{gps-redirect}?page=faq</instruction>
					</function>
				</button>
				<button backcol="none" display="label" label_pos="right" separate="yes" textcol="none">
					<label>在线支持(&amp;O)</label>
					<tip>Directory Opus 在线支持网页</tip>
					<function type="normal">
						<instruction>https://{gps-redirect}?page=support</instruction>
					</function>
				</button>
				<button backcol="none" display="label" label_pos="right" textcol="none">
					<label>视频教程</label>
					<tip>打开Directory Opus YouTube 频道</tip>
					<function type="normal">
						<instruction>https://{gps-redirect}?page=youtube</instruction>
					</function>
				</button>
				<button backcol="none" display="label" label_pos="right" textcol="none">
					<label>书面教程(&amp;W)</label>
					<tip>打开Directory Opus的教程区</tip>
					<function type="normal">
						<instruction>https://{gps-redirect}?page=intro</instruction>
					</function>
				</button>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>检查程序更新(&amp;C)...</label>
				<tip>检查 Directory Opus 的更新版本</tip>
				<icon1>#checkforupdates</icon1>
				<function type="normal">
					<instruction>Help CHECKUPDATE</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>提交崩溃日志...</label>
				<tip>允许您查看和提交由于程序崩溃而创建的任何日志文件</tip>
				<icon1>#crashlogs</icon1>
				<function type="normal">
					<instruction>Help CRASHLOGS</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none">
				<label>任务管理器</label>
				<tip>显示正在运行的脚本和其他后台任务的相关信息。</tip>
				<icon1>#taskmanager</icon1>
				<function type="normal">
					<instruction>Help TASKMANAGER</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none" type="menu">
				<label>安全截图(&amp;S)</label>
				<icon1>#screenshot</icon1>
				<button backcol="none" display="label" label_pos="right" textcol="none">
					<label>本窗口(&amp;T)</label>
					<tip>将本窗口安全截屏并复制</tip>
					<function type="normal">
						<instruction>Clipboard SCREENSHOT=secure</instruction>
					</function>
				</button>
				<button backcol="none" display="label" label_pos="right" textcol="none">
					<label>全屏(&amp;W)</label>
					<tip>复制整个屏幕的安全截屏</tip>
					<function type="normal">
						<instruction>Clipboard SCREENSHOT=secure,all</instruction>
					</function>
				</button>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>授权管理(L)...</label>
				<tip>管理 Directory Opus 证书</tip>
				<icon1>#licencemanager</icon1>
				<function type="normal">
					<instruction>Help LICENCEMANAGER</instruction>
				</function>
			</button>
			<button backcol="none" display="both" label_pos="right" textcol="none">
				<label>关于 D&amp;irectory Opus (A)...</label>
				<tip>显示 Directory Opus 版权和版本信息</tip>
				<icon1>#about</icon1>
				<function type="normal">
					<instruction>Help ABOUT</instruction>
				</function>
			</button>
		</button>
	</buttons>
	<default_info hash="0xee08eca6,0xd9fe9315,0x97257e32,0x599a29cc,0x4dfad0c9" type="Operations" version="13.0" />
</toolbar>
