50 lines
909 B
Batchfile
50 lines
909 B
Batchfile
@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 ^<solution/%NAME%.h^>
|
|
) > src\%NAME%.c
|
|
|
|
:: 生成 tests/test_a.cpp
|
|
(
|
|
echo #include ^<gtest/gtest.h^>
|
|
echo #include ^<solution/%NAME%.h^>
|
|
) > tests\test_%NAME%.cpp
|
|
|
|
echo 文件创建完成。
|