Board logo

标题: [文件操作] 求个批处理分解带有关键词的文件夹 [打印本页]

作者: w836951407    时间: 2020-5-25 10:56     标题: 求个批处理移动带有关键词的文件夹

有很多个大文件夹,每个大文件夹下还有几个文件夹,需要把其中大文件夹下带有“车辆相关关键词”的文件夹分解,车辆相关下的文件和文件夹上移到大文件夹下
作者: Batcher    时间: 2020-5-25 11:03

回复 1# w836951407


    请举例说明一下移动之前和移动之后的目录结构分别是怎样的
作者: w836951407    时间: 2020-5-25 11:07

回复 2# Batcher


    例如  123文件夹下有 其他、XX车辆相关文件夹、XX过期文件文件夹,XX车辆相关文件夹下还有个XX车辆照片文件夹,现在需要把XX车辆相关文件夹下的文件和XX车辆照片文件夹都移动到上层123文件夹下
作者: smss    时间: 2020-5-25 11:24

本帖最后由 smss 于 2020-5-25 11:36 编辑

另存为ANSI编码 放在有很多个大文件夹的根目录运行
  1. @echo off
  2. for /f "delims=" %%i in ('dir /b/ad') do for /f "delims=" %%j in ('dir /b/ad "%%i"^|findstr /i "车辆"') do move "%%~fi\%%j" "%~dp0"
  3. pause
复制代码

作者: w836951407    时间: 2020-5-25 11:30

回复 4# smss


    试了下,没有反应呢
作者: w836951407    时间: 2020-5-25 11:34

本帖最后由 w836951407 于 2020-5-25 11:54 编辑

回复 4# smss


   可以运行了,但是我想要的结果是车辆相关文件夹分解,车辆相关文件夹里的文件和文件夹移出来
作者: w836951407    时间: 2020-5-25 12:06     标题: 求个批处理分解带有关键词的文件夹

例:   123文件夹下有 其他、XX车辆相关文件夹、XX过期文件文件夹,XX车辆相关文件夹下还有个XX车辆照片文件夹,现在需要把XX车辆相关文件夹分解,里面的文件和文件夹提出来,操作后,123文件夹下 变成 其他、XX过期文件夹、原车辆相关文件夹下的文件和文件夹
作者: Batcher    时间: 2020-5-25 12:07

回复 3# w836951407
  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "delims=" %%i in ('dir /b /ad "*车辆相关*"') do (
  4.     move "%%i\*.*" "%~dp0"
  5.     for /f "delims=" %%j in ('dir /b /ad "%%i\*车辆*照片*"') do (
  6.         move "%%i\%%j" "%~dp0"
  7.     )
  8. )
复制代码

作者: Batcher    时间: 2020-5-25 12:12

回复 7# w836951407


    一个帖子把问题说清楚就够了,没有必要重复发。
作者: w836951407    时间: 2020-5-25 12:27

回复 9# Batcher


    不好意思,第一个帖子没说明白就又发了一个,刚才您给的那个我运行了,但是没反应文件没有移动,麻烦您再帮看看
作者: Batcher    时间: 2020-5-25 13:59

回复 10# w836951407


    请把你测试用的目录结构和bat文件打包压缩上传我试试
作者: w836951407    时间: 2020-5-25 15:29

回复 11# Batcher


    麻烦看一下,上传附件一直提示文件过大,只能传云盘后,分享链接了  链接:https://pan.baidu.com/s/1E8t4ni2sDXTv4bNBTS6GRg
提取码:yofv
作者: smss    时间: 2020-5-25 16:44

真想揍楼主
作者: Batcher    时间: 2020-5-25 16:51

回复 12# w836951407
  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "delims=" %%a in ('dir /b /ad') do (
  4.     pushd "%%a"
  5.     for /f "delims=" %%i in ('dir /b /ad "*车辆相关*"') do (
  6.         move "%%i\*.*" .
  7.         for /f "delims=" %%j in ('dir /b /ad "%%i\*车辆照片*"') do (
  8.             move "%%i\%%j" .
  9.         )
  10.     )
  11.     popd
  12. )
复制代码
你测试用的目录结构根据你帖子里面描述的不太一样,请试试这个代码吧。
作者: w836951407    时间: 2020-5-25 17:36

回复 14# Batcher


    谢谢大佬,我要的就是这个效果,真是太感谢了




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2