吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1448|回复: 5
收起左侧

[其他求助] 求根据文件夹名称,把前缀名一样文件相对应放入进去文件夹里

[复制链接]
hsm2913299 发表于 2023-12-14 14:22
25吾爱币
比如文件夹名称为X163-2013-Y-TDZ-0121,文件名为X163-2013-Y-TDZ-0121-0001,想把前缀文件名一样的,放到这个前缀名一样的文件夹中。

最佳答案

查看完整内容

以上代码保存为:根据前缀名移动文件.bat 编码选择:ANSI 双击执 ...

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Batcher 发表于 2023-12-14 14:22
本帖最后由 Batcher 于 2023-12-14 15:28 编辑

[Asm] 纯文本查看 复制代码
@echo off
cd /d "%~dp0"
for /f "tokens=1-6 delims=-" %%a in ('dir /b /a-d *-*-*-*-*-*') do (
    echo 正在处理文件 "%%a-%%b-%%c-%%d-%%e-%%f"
    if not exist "%%a-%%b-%%c-%%d-%%e" (
        md "%%a-%%b-%%c-%%d-%%e"
    )
    move /y "%%a-%%b-%%c-%%d-%%e-%%f" "%%a-%%b-%%c-%%d-%%e\"
)
pause


以上代码保存为:根据前缀名移动文件.bat
编码选择:ANSI
双击执行脚本:根据前缀名移动文件.bat

处理之前:


处理之后:

YangWangU 发表于 2023-12-14 14:26
不同种类的文件夹不多的话(例如 3个5个)
可以手动,方法:
1.使用 Everything 软件(下载:https://www.voidtools.com/zh-cn/
直接搜  X163-2013-Y-TDZ-0121*.* 就找到 全部 X163-2013-Y-TDZ-0121开头的文件,然后全选(ctrl+a 全选 或者剪切)到  X163-2013-Y-TDZ-0121文件夹

不同种类的文件夹很多的话(例如 30个50个)
可以用程序归类
JackLei 发表于 2023-12-14 14:26
看看符合你的要求不,用excel的
链接:https://pan.baidu.com/s/1nJQ8QDALQ3KslBO3wO58Tw?pwd=ch6v
提取码:ch6v
复制这段内容后打开百度网盘手机App,操作更方便哦
emir 发表于 2023-12-14 14:27
[Asm] 纯文本查看 复制代码
你可以使用批处理脚本来实现这个功能。以下是一个示例的批处理脚本,它将文件名前缀与文件夹名前缀相匹配的文件移动到相应的文件夹中:

batch
@echo off  
setlocal enabledelayedexpansion  
  
set "source_folder=C:\Path\to\source\folder"  
set "destination_folder=C:\Path\to\destination\folder"  
  
for /D %%F in ("%source_folder%*") do (  
    set "folder_name=%%~nxF"  
    set "folder_prefix=!folder_name:~0,11!"  REM 根据你的文件夹名前缀调整这里的数字  
      
    for %%F in ("%source_folder%\!folder_prefix!-*") do (  
        set "file_name=%%~nxF"  
        set "file_prefix=!file_name:~0,11!"  REM 根据你的文件名前缀调整这里的数字  
          
        if "!file_prefix!"=="!folder_prefix!" (  
            md "%destination_folder%\!folder_name!" 2>nul  
            move "%%F" "%destination_folder%\!folder_name!"  
        )  
    )  
)  
  
echo 文件移动完成。  
pause
请确保将 C:\Path\to\source\folder 替换为包含要移动文件的源文件夹的实际路径,并将 C:\Path\to\destination\folder 替换为要将文件移动到的目标文件夹的实际路径。

在脚本中,我们使用了两个嵌套的 for 循环来遍历源文件夹中的文件夹和文件。首先,外部循环遍历源文件夹中的每个文件夹,提取文件夹名前缀。然后,内部循环遍历以相同前缀开头的文件,并将它们移动到相应的文件夹中。

注意,脚本中的 set "folder_prefix=!folder_name:~0,11!" 和 set "file_prefix=!file_name:~0,11!" 行中的数字 11 是根据你的文件夹名和文件名前缀的长度进行调整的。你需要根据你的实际情况修改这些数字,以确保正确提取前缀。
go4399 发表于 2023-12-14 14:56
没有说原始文件放在一个文件夹下,还是分散在很多文件夹里

如果原始文件分散在很多文件夹里,用2楼的Everything非常方便

如果原始文件放在一个文件夹下,用4楼的批处理文件
返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-4-29 23:46

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表