批处理 搜索所有同名文件夹并把其中的文件移动到另一个文件夹下

2024-11-27 04:10:57
推荐回答(1个)
回答1:

@echo off::请将不同的文件夹与此批处理放在同一个目录下 set /p var=请输入要复制的文件类型(输入格式:*.txt;*.pdf): set /p path=请输入要复制到的目标文件夹路径: ::使用for循环查询当前所有子文件中的%var%类型文件,并复制到指定路径下。 for /f "delims=" %%a in ('dir /a-d /b /s %var%') do ( if not defined %%~nxa ( xcopy "%%a" "%path%"&set "%%~nxa=a" ) else ( set /a n+=1 ren "%path%\%%~nxa" "%%~na!n!%%~xa"&xcopy "%%a" "%path%" ))pause注意:上面的批处理首先与用户进行交互,让用户设置要复制的文件类型以及要复制到目的路径。接着使用for循环将当前目录下的指定的文件类型复制到指定路径,如果发现有重名的文件,就将第一个重名的文件重名令,然后再复制新的文件。