将同名不同格式的文件移动到同名文件夹

(BAT批处理)如何批量创建与对应文件同名的文件夹,并将文件移入? 网友解答:仅以问题中的样例说明及猜测为据; 阅读详情
AI摘要

整理NAS文件时,常需将同名不同格式文件移到同名文件夹,手动操作效率低。可使用批处理脚本解决,创建批处理文件,将特定代码粘贴保存到操作文件夹。注意要移动的文件需在同一文件夹,运行前先测试,运行后删除同名文件夹。

前言:

我们整理NAS中文件时经常遇到需要将同名不同格式的文件移动到同名文件夹中的情况,而且大部分时候这些文件还有不同的后缀,如图中所示,文件除了本名,后缀还有-fanart,-poster等字符,还需要创建文件夹,再改名,之后才能将文件拖入文件夹中,如果纯手动进行操作,往往面对数万的文件而感到头皮发麻,纯手动整理几天几夜也整理不完......有没有办法能快速便捷的将同名不同格式的文件移动到同名文件夹中呢?答案是:有的!

方法(旧)

 创建一个批处理文件:

打开记事本(Notepad)。

将以下代码粘贴到记事本中:

@echo off
setlocal enabledelayedexpansion

rem 设置前缀长度
set "length=15"  rem 替换为你想要的字符数量

rem 遍历所有文件
for %%f in (*.*) do (
    rem 提取前缀
    set "filename=%%~nf"
    set "prefix=!filename:~0,%length%!"

    rem 创建对应的文件夹(如果不存在)
    if not exist "!prefix!\" (
        mkdir "!prefix!"
    )

    rem 移动文件到对应的文件夹
    move "%%f" "!prefix!\"
)

代码中"set "length=15"代表你文件名中所需要的字符数量,多出的后缀将被识别忽略,一同归类至同名文件夹中,之后保存文件:点击“文件” -> “另存为”,在文件名框中输入 move_files.bat,将“保存类型”选择为“所有文件”,然后保存到你想要操作的文件夹中。

 方法(新)

最近deepseek很火,然后突发奇想把上列代码扔进去让ds帮忙修改,效果很不错,让ds填加了一些功能:

1.支持撤销移动

2.支持再命令行中输入限制字符数量

3.不再将本bat文件也整理进文件夹

具体代码如下:

@echo off
setlocal enabledelayedexpansion

:: 配置文件参数
set "LOG_FILE=undo_log.txt"
set "SELF_FILE=%~nx0"
set "FOLDERS_TO_CHECK=folders.tmp"

:MAIN_MENU
cls
echo 文件管理工具 v2.3
echo --------------------------
echo 1. 执行文件分类
echo 2. 撤销上次操作
echo 3. 退出
echo --------------------------
set /p choice=请选择操作 (1/2/3):

if "%choice%"=="1" goto GET_LENGTH
if "%choice%"=="2" goto UNDO
if "%choice%"=="3" exit /b
echo 无效选项,请重新输入
timeout /t 2 >nul
goto MAIN_MENU

:GET_LENGTH
cls
:INPUT_LOOP
set /p "length=请输入文件名前缀长度(1-50): "
:: 输入验证
if not defined length goto INPUT_LOOP
echo %length%|findstr /r "^[1-9][0-9]*$" >nul || (
    echo 输入无效,必须是1-50之间的正整数
    timeout /t 2 >nul
    goto INPUT_LOOP
)
if %length% gtr 50 (
    echo 长度不能超过50
    timeout /t 2 >nul
    goto INPUT_LOOP
)
goto CLASSIFY

:CLASSIFY
:: 初始化日志文件
if exist "%LOG_FILE%" del "%LOG_FILE%"
set "counter=0"

for %%f in (*.*) do (
    if /i not "%%~nxf"=="%SELF_FILE%" (
        :: 获取绝对路径
        set "source=%%~ff"
        set "filename=%%~nf"
        
        :: 动态处理短文件名
        if "!filename!"=="" (
            set "prefix=NO_NAME"
        ) else (
            set "prefix=!filename:~0,%length%!"
        )
        
        set "target=!prefix!\%%~nxf"

        :: 记录完整绝对路径(带引号)
        echo move "!source!" "!target!" >> "%LOG_FILE%"

        :: 创建文件夹并移动文件
        if not exist "!prefix!\" mkdir "!prefix!"
        move "%%f" "!prefix!\" >nul && set /a "counter+=1"
    )
)

echo 操作完成! 共移动了 %counter% 个文件
echo 按任意键返回主菜单...
pause >nul
goto MAIN_MENU

:UNDO
if not exist "%LOG_FILE%" (
    echo 未找到操作记录,无法撤销
    timeout /t 2 >nul
    goto MAIN_MENU
)

:: 初始化临时文件
if exist "%FOLDERS_TO_CHECK%" del "%FOLDERS_TO_CHECK%"
set "counter=0"

echo 正在撤销操作...
for /f "usebackq delims=" %%a in ("%LOG_FILE%") do (
    :: 解析带引号的路径
    set "command=%%a"
    set "command=!command:move =!"
    for /f "tokens=1,2" %%b in ("!command!") do (
        :: 记录目标文件夹路径
        set "target_folder=%%~dpc"
        echo !target_folder! >> "%FOLDERS_TO_CHECK%"

        :: 执行移动操作
        if exist "%%c" (
            move "%%c" "%%b" >nul && set /a "counter+=1"
        ) else (
            echo 文件不存在: "%%c"
        )
    )
)

:: 删除空文件夹
if exist "%FOLDERS_TO_CHECK%" (
    sort "%FOLDERS_TO_CHECK%" /unique > "%FOLDERS_TO_CHECK%.sorted"
    
    echo 正在清理空文件夹...
    for /f "delims=" %%d in ('type "%FOLDERS_TO_CHECK%.sorted"') do (
        if exist "%%~d" (
            dir "%%~d" /b 2>nul | findstr . >nul || (
                echo 删除空文件夹: "%%~d"
                rmdir "%%~d"
            )
        )
    )
    del "%FOLDERS_TO_CHECK%.sorted"
)

del "%LOG_FILE%"
del "%FOLDERS_TO_CHECK%" 2>nul
echo 撤销完成! 已还原 %counter% 个文件
echo 按任意键返回主菜单...
pause >nul
goto MAIN_MENU

endlocal

将上述代码文本文档写入之后另存为,在文件名框中输入 move_files.bat,将“保存类型”选择为“所有文件”,然后保存到你想要操作的文件夹中。

注意:文件格式选择ANSI  !!!否则会乱码!!

 效果图:

选项1:开始分类,会要求你输入文件名前缀长度

输入后自动执行分类,并生成undo_log.txt文件,分类后按任意键返回主菜单

选项2:撤销分类,按照undo_log.txt文件中记录的路径还原文件,并删除选项1中新生成的文件夹,撤销分类后按任意键返回主菜单

选项3:退出

 注意事项:

  • 确保要移动的文件都在同一个文件夹中。
  • 运行批处理文件之前,最好先进行测试,以防意外情况。
  • 文件格式一定要选择ANSI  !!!否则会乱码!!

利用Python通过相同的文件名去移动到相同的文件夹 阅读详情

相关推荐

(BAT批处理)如何批量把同名文件夹放入另一个同名文件夹内?

不清楚你的实际文件/情况,仅以问题中的样例说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理多个文件夹放一起双击运行。类似这样把后面两个文件夹放入前面的文件夹。

weixin_44181791的博客 2633

bat批量移动文件至同名文件夹

bat批量移动文件至同名文件夹

7690

不同文件夹同名文件合并工具 支持txt和pdf格式

在合并过程中,它还会实时显示进度,并在日志窗口打印出每一步的操作信息,比如找到了多少文件,正在合并哪个文件,哪个文件合并成功,哪个文件因为格式问题跳过了等等。哪些文件被找到了,哪些文件正在合并,哪些文件合并成功,哪些文件因为特殊原因被跳过了,都一清二楚,让你对整个过程了如指掌,用得更放心。1.智能扫描与识别:你只需要告诉它去哪个"主文件夹"里寻找,它就能像侦探一样,自动钻进这个文件夹(如果你允许,它还会深入到所有的子文件夹里),把所有文件名相同的文件都揪出来,分门别类地整理好,等待你的下一步指令。

1322

批量创建与文件名同名的文件夹,并将文件移动到相应的文件夹内

批量创建与文件名同名的文件夹,并将文件移动到相应的文件夹内

qq_48379822的博客 6057

把当前文件放入同名文件夹

处理把当前多文件放入同名文件夹,把当前n多文件放入同名文件夹

批处理实现新建一和文件同名文件夹并将该文件放到文件夹中

批处理实现新建一和文件同名文件夹并将该文件放到文件夹中

文件管理终极指南,办公软件达人如何按文件名批量生成同名文件夹并把文件放入对应文件夹的秘密技巧

2.点击 ‌“添加文件”‌ 按钮,选择需要归类的文件(支持多选),点击“打开”导入列表(文件路径需完整)。1.打开“文件批量改名高手”,点击左侧菜单栏的 ‌“文件智能管理箱”‌ → ‌“文件批量管理任务”‌。7.单击添加本任务,将其发送到任务列表中,支持添加多个任务,测试时只添加了一个。3.在任务列表中,支持多种任务,测试时选择 ‌“按文件数量归类”‌ 选项。9.提示执行完成之后,打开查看,可以看到一个文件一个文件夹自动分类保存着。5.进入选择窗口,选择好新文件夹的保存路径,电脑任意文件夹都是可以的。

baba863133829的博客 1187

ARM SMMUv3设备树配置实战:从零开始为RK3588搭建IOMMU环境

本文详细介绍了在RK3588平台上配置ARM SMMUv3设备树的实战经验。从理解硬件架构、设备树节点定义,到内核驱动集成与调试,提供了完整的IOMMU环境搭建指南,并分享了解决StreamID冲突、中断配置等常见问题的技巧,帮助开发者高效完成控制器初始化。

l3m4n的博客 884

rx文件管理_4款神仙级文件管理器,秒杀Windows自带管理器!

Windows自带文件管理器,只能够满足我们日常的基础需求,但是你要一款功能更强,颜值更高的文件管理器,不妨试试这4款,我相信它能给你带来全新体验。1.RX文件管理器 RX文件管理器是一款透明化的Windows10文件管理器,其官网分为试用版和付费版,付费版需要15刀了(美元),但是官方说法是:“试用版的主体功能与正式版无异,且无任何时间限制,您可自主选择是否购买正式版”。通俗说就是不要钱。该文件...

weixin_39983427的博客 5363

别再手动下单了!用Python+EasyTrader+同花顺,5分钟搞定你的第一个自动化交易机器人

本文详细介绍了如何使用Python和EasyTrader结合同花顺客户端快速构建自动化交易机器人。从环境配置到实战脚本编写,涵盖自动打新、条件单、跟单策略等核心功能,并分享性能优化与风险控制技巧,帮助投资者高效实现自动化交易。

weixin_30381317的博客 398

金蝶个版本下载地址,记得保存收藏。

专业版 V10.0 http://downloads.cmcloud.cn/kis/kis_pro/10.0/kiszybV10sp1.rar V11.0 http://downloads.cmcloud.cn/kis/kis_pro/11.0/KISV11Setup.rar V12.0 http://dow...

饺子的博客 2506

python不同类型同名文件批量移动

点击上方关注我吧~

wenjie20070212的博客 523

(王道408考研操作系统)第一章计算机系统概述-第三节2:中断和异常

注意!!! 本节内容和《计算机组成原理》中的中断有重合,如果需要详细了解的话可以点击链接跳转:(计算机组成原理)第七章输入和输出系统-第四节2:I/O方式之程序中断方式 为了内容完整,部分内容会借用上述文章 文章目录一:中断和异常的基本概念(1)中断和异常的定义 一:中断和异常的基本概念 在操作系统引入核心态和用户态这两种工作状态后,就需要考虑两种状态之间是如何切换的。 操作系统内核工作在核心态,用户程序工作在用户态,系统不允许用户程序使用核心态的功能,但是用户程序为了完成某些操作又必须使用这些功能

快乐江湖的博客 3531

【Python脚本】---两个文件夹中文件名相同扩展名不同的文件移动---对照&参照

一、背景介绍 前几日,夜晚十一点半,女朋友找我,说有一个问题,是这样的: 有两个文件夹,其中一个文件夹中的文件名称都是00001.xml而另外一个文件夹中的文件名称都是00001.jpg这种类型 任务是,jpg所在的文件夹有2000多张,而xml后缀的文件有828个。需要在3000多张jpg中匹配和xml文件名相同的,移动出来。 如果一张一张搞,指定睡不了觉了,咋办,上网搜,还真有Python...

weixin_45807596的博客 191

项目管理 Agent:进度追踪与风险预警 Harness

我们先从LangChain的Agent定义说起:Agent是一个能感知环境、自主决策、调用工具、执行动作、迭代反思的智能实体。而「项目管理全自主Agent」,就是把Agent的核心能力和项目管理的五大过程组(启动、规划、执行、监控、收尾)深度结合,聚焦执行监控阶段的两个核心痛点:进度偏差自动化计算、风险信号自动化识别与预警的专门化Agent。全感知(Omnisensing):能从。

AI架构师小马 516

【Qt】解决 FTH: (11284): *** Fault tolerant heap shim applied to current process. (亲测有效)

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers。容错堆垫片应用到当前的过程。这通常是由于以前的崩溃。win + r,输入regedit。

Fanjufei的博客 830

移动盘同名文件夹EXE病毒

一、病毒名称  病毒名称:移动盘同名文件夹病毒;文件夹EXE病毒;同名文件夹EXE病毒  木马名称:Worm.Win32.AutoRun.soq 二、中毒特征  移动盘中毒后,移动盘中的所有文件夹被隐藏起来,病毒伪装成文件夹,但露出了尾巴,也就是露出了它的扩展名exe,因为我见到的文件夹一般是没有扩展名的,而且你可以往里面放东西的,所以,见到exe你应该想到它不是文件夹了,它是一个

cjiabing的专栏 3452

由ip地址和子网掩码求网络号、主机号、广播地址(超详细)

1、用二进制数表示IP地址   在进行计算之前,我们首先要学会十进制的IP地址怎么转换为二进制的IP地址。   给出一个例子: 十进制:172.16.25.3 二进制:10101100.00010000.00011001.00000011 1、如果两台主机的网络号相同,我们就说它们是同一网段 2、主机号的意义 - 1)主机号部分全变成1,即为该网段的广播地址 - 2)主机号部分全变成0,即为该网段的网路地址(网络号) 3、如果主机号部分为x位,则该网络能容纳最大主机数为: 2的x次方-2。减2

爱吃雪糕的小布丁的博客 9万+

将不同名字照片分类,然后创建同名文件夹,之后再修改文件夹中的照片名

就像上图一样,我需要将0002_c1s1_000451_03.png和0002_c1s1_000451_03_vis.png分别放在不同的文件夹中。因为它们两个是不用的照片,我只需要0002_c1s1_000451_03_vis.png这种名字的照片,但是我的网络无法识别带有_vis 的名字,因此我需要将0002_c1s1_000451_03_vis.png 去掉_vis。然后得到去掉_vis的0002_c1s1_000451_03.png,再为这个图片创建同一个同名的文件夹,并将该照片放到这个文件夹中。

Carlos11111111的博客 730

姿态传感器/陀螺仪之BMI270应用原理图设计

BMI270是一款由博世(Bosch)推出的高性能、超低功耗惯性测量单元(IMU),专为可穿戴设备、智能设备及物联网应用设计。

corlin6688的博客 2864

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

使用 python 批量移动文件夹下的文件

使用 python 批量移动文件夹下的文件 前言与需求分析   之前用 yolov5 做了一个飞行器的检测,本来 yolo 应该是一个分类器,但是我把它当作一个单个种类的检测器,本来以外我做错了,但是后来我用我的数据跑起来还是效果不错的(单纯指的是识别,精度效果还有待商榷),优快云 了一番发现国内关于使用 yolo 检测单一种类众说纷纭,所以去 stackflow 去查了一下,就是单纯检测一类做训练是可以的,甚至有专门的攻略,真就 优快云 是 2 咯?   一开始做毕设的设想是 Yolov4,Y

qq_48019718的博客 653

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Hazel轻松管理文件-安装包自动新建同名文件夹并且移动

首先贴图,我平时使用的一些规则,然后说一些平常有用的一些规则,及使用场景。 下载目录最新下载文件打标签:每次下载的文件都打上tag,标记为最近下载的文件,这样可以在Finder里通过标签直接查看最新下载的文件超过4周的打标签-红色:下载成功,并且一直放在下载目录超过4周,则打上tag,后续方便自己同意处理这些超过4周还未处理的文件安装包移动到APP-建新文件夹:新下载的AP...

茶半香初 7892

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

批量分类当前文件夹下的同名或同类型文件,到指定文件夹!

创建文本,输入: MD 0_attack MD 0_skill MD 1_run MOVE 0_attack_.png 0_attack/ MOVE 0_skill_.png 0_skill/ MOVE 1_run_*.png 1_run/ 保存成.bat文件。 MD 0_attack 解释一下,MD 是创建文件夹,注意MD后面有空格隔开。 MOVE 0_attack_*.png 0_attac...

u014207410的博客 7602

linux命令 把文件夹拷贝一遍_linux如何复制文件夹和移动文件夹

linux下文件的复制、移动与删除命令为:cp,mv,rm一、文件复制命令cp命令格式:cp [-adfilprsu] 源文件(source) 目标文件(destination)cp [option] source1 source2 source3 ... directory参数说明:-a:是指archive的意思,也说是指复制所有的目录-d:若源文件为连接文件(link file),则复制连接文...

weixin_39860349的博客 2262

用bat批量重命名不同文件夹下的同名文件

起因:手机B站离线的视频目录是这个样子的 视频的每一个分P都会生成一个文件夹,包含视频基本资料和一个名为80的文件夹,这个文件夹里放着后缀名为m4s的音频和视频文件,现需要使用电脑播放下载的视频。那么第一步就是更改视频和音频文件的后缀名。 百度得知bat使用的基本案例: ren *.m4s *.mp4 可将以m4s的后缀名文件批量重命名为以mp4为后缀名的文件。唯一不足的是这个bat文件需要放在与被更改文件同一文件夹下,而这个视频由于有多个分P,导致有许多文件夹,这个方法不好用。

weixin_59312879的博客 6959

redhat 复制文件夹及子文件夹_linux如何复制文件夹和移动文件夹

linux下文件的复制、移动与删除命令为:cp,mv,rm一、文件复制命令cp命令格式:cp [-adfilprsu] 源文件(source) 目标文件(destination)cp [option] source1 source2 source3 ... directory参数说明:-a:是指archive的意思,也说是指复制所有的目录-d:若源文件为连接文件(link file),则复制连接文...

weixin_42365898的博客 2660
上一篇: 服务器内网穿透+个人导航页搭建+宝塔反代+ssl一站式教学
下一篇: 最新版frp0.60.0内网穿透教学
我不是BT男
博客等级 码龄7年 51粉丝 4原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值