Files
leetcode/mkfile.bat
2025-07-17 17:24:50 +08:00

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 文件创建完成。