找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 37206|回复: 10

[文件操作] 批处理如何根据文件名的部分字符移动文件到指定文件夹?

[复制链接]
发表于 2016-1-1 13:22:01 | 显示全部楼层 |阅读模式
怎么把不同文件名的文件移动到对应的文件夹中(每个文件夹对应的含有“被移动文件”文件名的某个字段)
例如,文件:xxxAxxx,xxxBxxx,xxxCxxx,......
      文件夹:xxxA,xxxB,xxxC,......,其中xxx代表“不同”的字段
   处理结果:xxxAxxx移到xxxA,xxxBxxx移到xxxB,xxxCxxx移到xxxC

——————哪位大神能帮小弟解决这个技术问题,万分感谢!
 楼主| 发表于 2016-1-1 13:29:32 | 显示全部楼层
在网上查了好久都找不到解决办法,自己又研究不出来,只能求助各位大神了
发表于 2016-1-1 13:38:34 | 显示全部楼层
不知是否在论坛搜索过没?当然搜索也是有一定技巧的
 楼主| 发表于 2016-1-1 14:05:04 | 显示全部楼层
搜索过了,但没找到想要的
发表于 2016-1-1 16:35:33 | 显示全部楼层
获得某文件的文件名,截取文件名的前五位建文件夹,并移动文件到这个文件夹里,
发表于 2016-1-2 00:42:14 | 显示全部楼层
回复 1# batchuli
依据当前路径文件夹名称执行,如果没有文件夹则不执行,依据文件执行错误率太高,没有很明显的分隔符
  1. @echo off
  2. for /f "delims=" %%i in ('dir/ad/b/l/on ".\xxx*.*"')do (
  3. for /f "delims=" %%j in ('dir/a-d/s/b/l/on ".\%%i*.*"')do (
  4.   echo, "%%j" ".\%%i"
  5. )
  6. )
  7. pause
复制代码
 楼主| 发表于 2016-1-2 16:23:24 | 显示全部楼层
回复 6# /zhqsystem/zhq


    不好意思,是我前面表述不够清晰。在同一个目录下,有许多文件跟许多对应的文件夹,而对应的文件跟文件夹有关联的地方就是只有“姓名”字符相同。匹配 文件夹第19位即“-”字符后面的姓名,跟文件名称中间的姓名(姓名字数不是固定的,会变化)   有办法解决吗
发表于 2016-1-2 16:56:29 | 显示全部楼层
  1. @echo off
  2. for /f "tokens=1,2 delims=-" %%i in ('dir /ad /b') do (
  3.         echo;%%j
  4.         for /f "delims=" %%a in ('dir /a-d /b "*%%j*.*" 2^>nul') do (
  5.                 echo;        %%a  移入 %%i-%%j
  6.                 move /y "%%a" %%i-%%j >nul 2>nul
  7.         )
  8. )
  9. pause & exit /b
复制代码
 楼主| 发表于 2016-1-2 17:55:44 | 显示全部楼层
回复 8# 回家路上


    解决了,谢谢大神。
    bat功能很强大,没时间也要挤时间出来学习!
 楼主| 发表于 2016-1-2 18:08:57 | 显示全部楼层
回复 8# 回家路上


    如果姓名有重复字符的,移动会出乱,比如:文件:xx杨品泽.txt,xx杨品.txt,  文件夹:xx杨品泽,xx杨品。处理结果:xx杨品泽.txt,xx杨品.txt都移入了“xx杨品”文件夹。我再好好研究一下
发表于 2018-4-20 20:31:30 | 显示全部楼层
回复 8# 回家路上


    移动了找不到了?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 06:22 , Processed in 0.020486 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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