@echo off chcp 65001 setlocal enabledelayedexpansion :: 检查参数是否存在 if "%~1"=="" ( echo 用法: %~nx0 文件名(不带扩展名) exit /b 1 ) set "NAME=%~1" set "NAME_UPPER=%NAME:_=_%" set "NAME_UPPER=%NAME_UPPER:"=%" for %%A in (%NAME_UPPER%) do ( set "NAME_UPPER=!NAME_UPPER:%%A=%%~A!" ) set "NAME_UPPER=!NAME_UPPER:.=_!" :: 创建目录结构 mkdir include\solution 2>nul mkdir src 2>nul mkdir tests 2>nul :: 生成 include/solution/a.h ( echo #ifndef INC_!NAME_UPPER!_H echo #define INC_!NAME_UPPER!_H echo #ifdef __cplusplus echo extern "C" { echo #endif echo. echo #ifdef __cplusplus echo } echo #endif echo #endif ) > include\solution\%NAME%.h :: 生成 src/a.c ( echo #include ^ ) > src\%NAME%.c :: 生成 tests/test_a.cpp ( echo #include ^ echo #include ^ ) > tests\test_%NAME%.cpp echo 文件创建完成。