不用它遍历当前路径下的所有文件夹;同时遍历指定的多个文件夹即可
时间: 2023-08-01 16:15:20 浏览: 80
Android遍历所有文件夹和子目录搜索文件
好的,以下是修改后的代码,它会遍历指定的多个文件夹,而不是当前路径下的所有文件夹:
```
@echo off
setlocal enabledelayedexpansion
set "targetFolder=C:\目标文件夹路径"
if not exist "%targetFolder%" (
md "%targetFolder%"
)
set "folders=C:\指定文件夹1,C:\指定文件夹2,C:\指定文件夹3"
set "modelFolder=%targetFolder%\程序模型"
set "processFolder=%targetFolder%\工艺规程"
set "recordFolder=%targetFolder%\沟通记录"
if not exist "%modelFolder%" (
md "%modelFolder%"
)
if not exist "%processFolder%" (
md "%processFolder%"
)
if not exist "%recordFolder%" (
md "%recordFolder%"
)
for %%f in (%folders%) do (
for %%i in ("%%f\*.prt" "%%f\*.cxp" "%%f\*.doc") do (
set "ext=%%~xi"
if "!ext!"==".prt" (
move "%%i" "%modelFolder%"
) else if "!ext!"==".cxp" (
move "%%i" "%processFolder%"
) else if "!ext!"==".doc" (
move "%%i" "%recordFolder%"
)
)
)
xcopy "%modelFolder%" "%targetFolder%\程序模型" /E /I /H /Y
xcopy "%processFolder%" "%targetFolder%\工艺规程" /E /I /H /Y
xcopy "%recordFolder%" "%targetFolder%\沟通记录" /E /I /H /Y
rd /s /q "%modelFolder%"
rd /s /q "%processFolder%"
rd /s /q "%recordFolder%"
echo Done.
pause
```
你需要将`set "folders=C:\指定文件夹1,C:\指定文件夹2,C:\指定文件夹3"`中的"C:\指定文件夹1,C:\指定文件夹2,C:\指定文件夹3"修改为你想要遍历的文件夹路径,多个路径之间用逗号隔开即可。然后它会遍历指定的多个文件夹下的所有文件,将符合条件的文件移动到对应的文件夹中,最后复制三个文件夹到目标文件夹中,然后删除原来的文件夹。
阅读全文