[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 【已解决】批处理怎样判断最后一级子目录,批量移动到当前目录?

本帖最后由 thp2008 于 2022-9-16 11:37 编辑

例如我的当前目录是 E:\Lever1\

E:\Lever1\当前目录的子目录大概是这样个情况

E:\Lever1\Le02\Le03\Le04\le05\le06\*.MP4
E:\Lever1\Ae02\Ae03\Ae04\Ae05\*.GIF
E:\Lever1\Be02\Be03\Be04\*.MP4
E:\Lever1\Ce02\Ce03\Ce04\Ce05\*.GIF
E:\Lever1\De02\De03\*.MP4

也就是,当前目录下,有很多级子目录,子目录的层级不固定,文件夹名称有中文及空格,但只有最后一级子目录有文件,文件类型为两种:*.mp4和*.Gif以这个为条件判断,就是批处理,自动根据有指定文件类型的判断它最后所在的文件夹层级,然后批量自动将这些文件夹及文件夹下的所有文件,移动到当前目录下。
例如上面的例子,批处理自动将:le06\    Ae05\     Be04\      Ce05\     De03\  这最后一级文件夹及文件夹下的文件,移动到当前目录 E:\Lever1\下。移除完毕后,将当前目录下的,所有空目录,全部删除掉。

上面为了讲清楚,我说的比较细,概括来讲,就是我在当前目录一运行这个批理,就自动检测最后一级文件夹,将所有的最后一级文件夹,移动到当前目录,最后,删除所有空目录。

不知道,我讲清楚没有,看看有没有什么好方法可以实现,感谢大神帮助!

  1. @echo off
  2. for /f "delims=" %%a in ('dir /s /b /ad') do (
  3.     if exist "%%a\*.MP4" (
  4.         md "%%~nxa" 2>nul
  5.         copy "%%a\*.*" "%%~nxa\"
  6.     ) else if exist "%%a\*.GIF" (
  7.         md "%%~nxa" 2>nul
  8.         copy "%%a\*.*" "%%~nxa\"
  9.     )
  10. )
  11. for /f "delims=" %%a in ('dir /s /b /ad^|sort /r') do rd "%%a" 2>nul
复制代码
未测试
1

评分人数

TOP

回复 2# qixiaobin0715


    copy 应该换成 move 吧
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 3# Batcher
对对!!!

TOP

回复 1# thp2008
  1. @echo off
  2. cd /d "%~dp0"
  3. setlocal enabledelayedexpansion
  4. for /f "delims=" %%i in ('dir /b /s /a-d *.mp4 *.gif') do (
  5.     if exist "%%~dpi" (
  6.         set "ThisFolder=%%~dpi"
  7.         set "ThisFolder=!ThisFolder:~0,-1!"
  8.         move "!ThisFolder!" "%~dp0"
  9.     )
  10. )
  11. for /f "delims=" %%a in ('dir /b /s /ad ^| sort /r') do (
  12.     rd "%%a" 2>nul
  13. )
复制代码
1

评分人数

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

感谢qixiaobin0715 和 Batcher 两位老大的帮忙,我测试了,两位的都可以满足要求,成功了。
Batcher 的还可以支持个别,有.mp4和.Gif的下面还有个子目录的情况。太好了。
膜拜两位,我来好好研究一下。

TOP

返回列表