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

已解决:@echooffcd/d"%~dp0"set"newfolder=汇总"md"%newfolder%"2>nulfor/f"delims="%%ain('dir/... 已解决:
@echo off
cd /d "%~dp0"
set "newfolder=汇总"
md "%newfolder%" 2>nul
for /f "delims=" %%a in ('dir /ad/b^|findstr /v "^%newfolder%$"') do set "fd=%%a"
for /f "delims=" %%a in ('dir /ad/b "%fd%"') do (
for /f "delims=" %%b in ('dir /ad/b^|findstr /v "^%newfolder%$"') do (
if exist "%%b\%%a\" (
echo;"%%b\%%a" --^> "%newfolder%\%%a\"
xcopy "%%b\%%a" "%newfolder%\%%a\" /q /s
)
)
)
pause
展开
 我来答
百度网友3893868
2019-04-17 · TA获得超过5834个赞
知道大有可为答主
回答量:9178
采纳率:83%
帮助的人:384万
展开全部
@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循环将当前目录下的指定的文件类型复制到指定路径,如果发现有重名的文件,就将第一个重名的文件重名令,然后再复制新的文件。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式