根据文件夹名称批量合并文件夹
Posted
技术标签:
【中文标题】根据文件夹名称批量合并文件夹【英文标题】:Combine Folders based on Folder Name Batch 【发布时间】:2020-12-06 22:47:38 【问题描述】:我有具有以下命名约定的子文件夹:
000026867_20200722_222406_SS24
我想合并名称最后部分相同的所有文件夹的内容。在这种情况下,所有以SS24
结尾的文件夹。它总是在第三个下划线之后,但也有可能在最后一个下划线之后超过 4 个字符。
我希望所有以SS24
结尾的文件夹中的所有文件都位于一个名为All_SS24
的新文件夹中
原来的文件夹可以删除。
@Echo off
pushd "C:\path\to\your\base\folder"
for /f "Tokens=1* Delims=-" %%A in ( 'Dir /B /AD -' ) Do If Not Exist "%%A" (
Ren "%%A-%%B" "%%A"
) Else (
Move /Y "%%A-%%B*" "%%A\" RmDir "%%A-%%B"
)
PopD
感谢您的帮助。
【问题讨论】:
【参考方案1】:这或多或少是你想要的:
@echo off
pushd "C:\path\to\your\base\folder"
for /f "tokens=1-4*delims=_" %%a in ('dir /b /ad "*_*"') do (
mkdir "%%d">nul 2>&1
copy "%%a_%%b_%%c_%%d\*" "%%d" /Y
rd "%%a_%%b_%%c_%%d" /S /Q
)
popd
【讨论】:
以上是关于根据文件夹名称批量合并文件夹的主要内容,如果未能解决你的问题,请参考以下文章
Python3 根据m3u8下载视频,批量下载ts文件并且合并