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

如何将自定义文件整理BAT脚本添加到Shift+右键上下文菜单

如何将自定义文件整理BAT脚本添加到Shift+右键上下文菜单

兄弟,我看你已经有修改上下文菜单的经验了,那这个需求对你来说其实不难!核心是把你的BAT脚本改成支持外部传入目标文件夹路径,再通过注册表把菜单挂到两个场景(文件夹空白处、文件夹本身)的Shift+右键菜单里,还能让它显示在顶部。我给你一步步说清楚:

第一步:优化你的BAT脚本(不用再复制删除啦)

原来的脚本必须放在目标文件夹里,现在我们改成接收路径参数,这样固定存一个地方就行。把下面的代码保存成OrganizeFiles.bat,比如放到C:\Tools\目录下(你也可以选其他固定路径,记好就行):

@echo off
:: 接收传入的目标文件夹路径,没传的话用当前目录
set "target_dir=%~1"
if not defined target_dir set "target_dir=%cd%"

:: 进入目标文件夹执行操作
pushd "%target_dir%"
for %%i in (*) do (
    :: 跳过脚本本身(如果脚本在当前目录的话),同时跳过其他BAT文件(可选)
    if /i not "%%~ni" == "organize" if not "%%~xi" == ".bat" (
        :: 创建文件夹(已存在就忽略错误),然后移动文件
        md "%%~ni" 2>nul && move "%%~i" "%%~ni"
    )
)
popd

第二步:修改注册表添加Shift+右键菜单

我们需要在两个注册表路径下添加条目,分别对应「文件夹空白处Shift+右键」和「右键点击文件夹本身Shift+右键」的场景。

场景1:在文件夹空白处Shift+右键显示菜单

  1. 按Win+R输入regedit打开注册表编辑器
  2. 导航到路径:HKEY_CLASSES_ROOT\Directory\Background\shell
  3. 右键点击shell → 新建 → 项,命名为OrganizeFiles(内部标识,随便取但要唯一)
  4. 选中新建的OrganizeFiles项,双击右侧的(默认),把数值数据改成Organize Files(这是菜单上显示的文字)
  5. 右键右侧空白处 → 新建 → 字符串值,命名为Extended,值留空(这个参数让菜单只在Shift+右键时显示)
  6. 再新建一个字符串值,命名为Position,值设为Top(让菜单显示在最顶部)
  7. 右键OrganizeFiles → 新建 → 项,命名为command
  8. 选中command项,双击右侧(默认),把数值数据改成:"C:\Tools\OrganizeFiles.bat" "%V"(注意把路径换成你实际保存BAT的路径,%V会自动传递当前文件夹的路径)

场景2:右键点击文件夹本身(Shift+右键)显示菜单

  1. 导航到路径:HKEY_CLASSES_ROOT\Directory\shell
  2. 重复场景1的步骤3-8:新建OrganizeFiles项,设置显示文字、Extended、Position,然后在command项里填同样的BAT路径+%V参数

最后测试&注意事项

  • 改完注册表不用重启,直接Shift+右键试试:不管是在文件夹空白处,还是右键点击文件夹本身,都能看到顶部的「Organize Files」菜单了
  • 一定要确保BAT文件的路径写对,不然菜单点了没反应
  • 修改注册表前最好右键对应的项,选择「导出」备份一下,万一改坏了可以恢复
  • 脚本里的if not "%%~xi" == ".bat"是可选的,如果你想处理BAT文件,删掉这部分就行

备注:内容来源于stack exchange,提问作者Manson Casey

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 13:44:40