如何用bat批量移动文件夹内与文件夹同名的文件到指定文件夹?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用bat批量移动文件夹内与文件夹同名的文件到指定文件夹?相关的知识,希望对你有一定的参考价值。

求大神帮忙写个代码:如何用bat批量移动文件夹内与文件夹同名的文件到指定文件夹
例如:E\测试\1\1.txt E\测试\2\2.txt E\测试\3\3.txt 这三个文件统一移动到E\测试\
万分感谢

不清楚你的实际文件/情况,仅以问题中的说明及猜测为据
复制粘贴到记事本,另存为xx.bat,编码选ANSI@echo off
rem 将指定目录下多个子文件夹里跟子文件夹同名的文件剪切/移动到新的目录里
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
set "oldfolder=E:\\测试"
set "newfolder=E:\\测试"
if not exist "%newfolder%\\" (md "%newfolder%\\")
for /f "delims=" %%a in ('dir /ad/b "%oldfolder%\\"') do (
    if exist "%oldfolder%\\%%~nxa\\%%~nxa.*" (
        move "%oldfolder%\\%%~nxa\\%%~nxa.*" "%newfolder%\\"
    )
)
:end
echo;%#% +%$%%$%/%@% %z%
pause
exit

参考技术A


将bat文件与处理目录放在一起并执行,请备份文件再测试.

@echo off
for /f "delims=" %%a in ('dir /ad/b') do (
for /f "delims=-" %%b in ("%%a") do (
if not exist "%%b" md "%%b"
move "%%a" "%%b"
)
)





追问

谢谢回答,但是测试了没反应

参考技术B 你可以自己在网上搜索,关于这样的代码是很多的。

如何用bat拷贝文件名中带有“ast”的文件

参考技术A @echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir /s /b *') do (set a=%%~fi& set b=%%~nxi
echo !b!|findstr "ast">nul&&xcopy "!a!" 新建文件夹\ >nul)

以上是关于如何用bat批量移动文件夹内与文件夹同名的文件到指定文件夹?的主要内容,如果未能解决你的问题,请参考以下文章

如何用bat打开本身目录下的文件?

如何用bat批量删除相同的文件名

如何用bat批量去掉文件名的后缀

如何用BAT删除文件名中特定的几个字?

求bat将文件夹内同名双格式文件中缺失一个的文件批量提取到指定文件夹

如何用bat拷贝文件名中带有“ast”的文件