You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Far Manager中如何直接将文件压缩后复制/移动到另一面板?

Far Manager中如何直接将文件压缩后复制/移动到另一面板?

哈哈,这个需求确实挺实用的——不想先压缩再手动挪,直接一键把文件压缩后送到另一面板对吧?其实Far Manager本身的自定义功能就能帮你搞定,不用每次分两步操作,给你两种简单的实现方式:

方法一:自定义快捷键直接绑定ArcLite命令

这是最直接的方式,把压缩+复制/移动的操作绑定到一个快捷键上:

  1. 按下F9打开主菜单,依次选择Options -> Keys进入快捷键设置界面
  2. 点击Add按钮,挑选你想用的组合键(比如Ctrl+Shift+F5对应「压缩复制到另一面板」,Ctrl+Shift+F6对应「压缩移动到另一面板」)
  3. 在Command输入框里,填入对应的ArcLite命令:
    • 压缩复制到另一面板:ArcLite pack "%f" "%p2\%n.zip"
      (解释:%f是当前选中的文件路径,%p2是另一面板的当前路径,%n是原文件名不带后缀,这样生成的压缩包会直接出现在另一面板里)
    • 压缩移动到另一面板:可以先按上面的命令生成压缩包,再加上删除原文件的命令,比如ArcLite pack "%f" "%p2\%n.zip" & del "%f"
  4. 保存设置后,以后选中目标文件按对应的快捷键,就能一步到位完成操作啦

方法二:编写自定义宏实现更灵活的操作

如果需要更精细的控制(比如自动刷新面板、处理批量文件),可以写个简单的宏:

  1. 按下Ctrl+F11打开宏编辑器(或者通过F9菜单的Macros -> Edit macros进入)
  2. 粘贴类似下面的宏代码(以「压缩移动到另一面板」为例):
Macro {
  description="压缩移动到另一面板";
  area="Shell";
  key="CtrlShiftF6";
  action=function()
    -- 获取当前选中的文件
    local currentFile = APanel.Current
    if not currentFile then return end
    
    -- 构造另一面板的压缩包路径
    local destZipPath = Panel.Path(2) .. "\\" .. currentFile.Name:gsub("%.%w+$", ".zip")
    
    -- 调用ArcLite执行压缩
    Plugin.Call("ArcLite", "pack", currentFile.FullName, destZipPath)
    
    -- 删除原文件
    os.remove(currentFile.FullName)
    
    -- 刷新两个面板,确保显示最新状态
    Panel.Update(nil, true)
    Panel.Update(2, true)
  end;
}
  1. 保存宏文件后,这个快捷键就生效了——选中文件按下Ctrl+Shift+F6,原文件会被压缩到另一面板,同时本地的原文件被删除

小贴士:如果需要用其他压缩格式(比如.rar),只需要把代码里的.zip改成对应的后缀就行;另外不同版本的ArcLite命令参数可能略有差异,你可以在ArcLite的帮助文档里核对具体参数哦

备注:内容来源于stack exchange,提问作者Alexander Gelbukh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 10:33:03