mkfile
This commit is contained in:
49
mkfile.bat
Normal file
49
mkfile.bat
Normal file
@@ -0,0 +1,49 @@
|
||||
@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 文件创建完成。
|
||||
Reference in New Issue
Block a user