标题: [文件操作] [分享]批处理根据A文件夹目录创建B目录并移动文件 [打印本页]
作者: Batcher 时间: 2022-10-13 08:42 标题: [分享]批处理根据A文件夹目录创建B目录并移动文件
【问题描述】
a文件夹是完整的文件夹,里面有好几层层目录,剪辑软件做完之后会打包项目使用的文件到b文件夹,但是全部文件都是直接复制到根目录的,想说能不能定制一个批处理让b文件夹的文件可以按照a文件夹的目录树自动移动到b下面的目录
a文件夹的a\a1\a2\a3文件夹下面可能有1到10.mp4这10个文件,但是剪辑只使用了1这一个素材,打包后1是复制到b的根目录下的,想让这个1.mp4自动移动到b\a1\a2\a3下面,包括其他文件都是这样,按照a的文件结构移动到b目录下
作者: Batcher 时间: 2022-10-13 08:42
【解决方案】
请参考Q-04把bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA- @echo off
- set "FolderA=C:\Test\From"
- set "FolderB=C:\Test\To"
- cd /d "%~dp0"
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /b /a-d "%FolderB%"') do (
- echo 正在处理文件 "%FolderB%\%%i"
- set "NewFolder="
- for /f "delims=" %%j in ('dir /b /s /a-d "%FolderA%\%%i"') do (
- set "NewFolder=%%~dpj"
- set "NewFolder=!NewFolder:%FolderA%=!"
- )
- if "x!NewFolder!" neq "x" (
- set "NewFolder=%FolderB%!NewFolder!"
- if not exist "!NewFolder!" (
- md "!NewFolder!"
- )
- move "%FolderB%\%%i" "!NewFolder!"
- )
- )
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |