# MyTinyTools **Repository Path**: buliangrencpp/MyTingTools ## Basic Information - **Project Name**: MyTinyTools - **Description**: 一些简单的小工具(用 c++ 重复造轮子) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-07-23 - **Last Updated**: 2024-08-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 【重复造轮子之我的小工具】 每个目录对应的名称即为工具的名称,均采用 c++ 编写 > 以下工具均采用命令行调用 # 通用指令 |option|short option|功能|值类型|例|备注| |-|-|-|-|-|-| | --version | -v |显示当前版本号|无值|*program_name --version* == *program_name -v*|| | --help | -h | 显示 touch 指令 option 的解释| 无值 |*program_name --help* == *program_name -h*|| | --show | -s | 显示指令解析后的 option 的值| 无值 | *program_name f.h --show* == *program_name f.h -s* | 指定了此 option,则仅显示指令解析后的 option 的值,不做任何处理。即你可通过此选项显示指令解析的结果是否与你的想法一致| # 下载 见 release 处 > 目前仅提供 windows 的可执行文件,其他系统可自行编译(就代码而言跨平台,采用的都是 c++ 标准库文件,但未经过正式测试) ## 1. touch ### 1.1 常用指令: > *touch [文件路径] -n [写入文件的 namespaces] -p [文件所在项目名] -rf* ### 1.2 功能介绍 在 bash 的 touch 指令的基础上,增加如下功能: > 是否是 c++ 文件,采用后缀名判断 #### i. c++ 头文件,增加 **头文件保护指令、namespaces**: 【例1】 - 指令:*touch file.h -n name1 name2* - 功能:创建 file.h,并将两个 -n 指定的命名空间写入 file.h ![](image/touch/touch1.png) 【例2】 - 指令:*touch file.h -n name -p project* - 功能:创建 file.h,写入命名空间 name,使用 预处理指令 进行头文件保护 (宏为 'project + 文件名') ![](image/touch/touch2.png) 【例3】 - 指令:*touch file1.h file2.h -n name1 name2* - 功能:创建 file1.h、file2.h,都将命名空间 name1 name2 写入两个文件 ![](image/touch/touch3.png) ![](image/touch/touch4.png) #### ii. c++ 源文件增加 **导入头文件指令、namespaces** 【例】 - 指令:*touch file.cpp -n name* - 功能:创建 file.cpp,将命名空间 name 写入文件 ![](image/touch/touch5.png) #### iii. 其他文件 仅创建文件,加入任何内容 ### 1.3 指令详解 |option|short option|功能|值类型|例|备注| |-|-|-|-|-|-| | --input | -i |指定创建的文件路径|多值|*touch file.h* == *touch -i file.h* == *touch --input=file.h* |**可以省略**| | --namespace | -n |指定写入 **c++ 文件** 的 namespaces|多值|*touch f.h --namespace=name* == *touch f.h -n name*|| | --project | -p |指定写入 **c++ 头文件** 的 头文件保护预处理指令的宏名称 = project + 头文件文件名|单值|*touch f.h --project=pro* == *touch f.h -p pro*|仅对头文件有效| | --force | -f |当文件已经存在时覆盖此文件;未指定 -f,当文件已经存在时不做任何处理,仅警告|无值|*touch f.h --force* == *touch f.h -f*|| | --recur | -r |当指定的文件所在目录不存在时,创建目录,再创建文件;未指定,则不做任何处理,仅警告|无值|*touch dir/f.h --recur* == *touch dir/f.h -r*|| # 2. line ## 2.1 常用指令 > *line [路径集合]* ## 2.2 功能 返回指定路径下的所有文件的总行数 (**忽略注释与空行**)