@echo off setlocal :: ==================================================================== :: 脚本名称: copy_md_files.cmd :: 脚本功能: 遍历/papers所有子文件夹,将所有.md文件复制到/papers/md文件夹下。 :: 作者: [你的名字/公司名,可选] :: 日期: 2023-10-27 :: 版本: 1.0 :: ==================================================================== :: 定义源目录和目标目录 set "SOURCE_DIR=%~dp0papers" set "TARGET_DIR=%~dp0papers\md" echo. echo ====================================================== echo 开始复制Markdown文件 echo ====================================================== echo. :: 检查源目录是否存在 if not exist "%SOURCE_DIR%" ( echo 错误:源目录 "%SOURCE_DIR%" 不存在。 echo 请确保脚本与"papers"文件夹在同一目录下,或者修改SOURCE_DIR变量。 goto :eof ) :: 创建目标目录(如果不存在) if not exist "%TARGET_DIR%" ( echo 创建目标目录: "%TARGET_DIR%" mkdir "%TARGET_DIR%" if errorlevel 1 ( echo 错误:无法创建目标目录 "%TARGET_DIR%"。 goto :eof ) ) else ( echo 目标目录 "%TARGET_DIR%" 已存在。 ) echo. echo 正在扫描 "%SOURCE_DIR%" 及其子目录中的 .md 文件... echo. :: 遍历所有子文件夹并复制.md文件 :: /s: 包含所有子目录 :: /i: 不区分大小写匹配文件名(这里针对*.md) :: /y: 覆盖现有文件而不提示 :: /d: 复制源文件比目标文件新,才进行复制 (可选,这里使用/y覆盖,所以可以省略/d) :: /h: 复制隐藏和系统文件 (如果.md文件可能是隐藏的) for /r "%SOURCE_DIR%" %%f in (*.md) do ( echo 正在复制: "%%f" copy "%%f" "%TARGET_DIR%" >nul if errorlevel 1 ( echo 警告:复制文件 "%%f" 失败。 ) ) echo. echo ====================================================== echo Markdown文件复制完成 echo ====================================================== echo. endlocal pause