# Batent **Repository Path**: longpanda/Batent ## Basic Information - **Project Name**: Batent - **Description**: Batent是一个独立的exe可执行文件,集成了一些常用的扩展命令,和Bat批处理配套使用,方便脚本的编写。 - **Primary Language**: C++ - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 2 - **Created**: 2018-05-22 - **Last Updated**: 2022-06-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Batent #### 项目介绍 虽然Windows平台中的Bat批处理不管是从技术上还是从使用上来说都已经非常过时了,但是在一些简单的应用场景中还是有其用武之地的。 另外,由于生产环境或者项目历史的原因,我们有时候也可能会维护、新增一些批处理脚本。 默认情况下批处理的功能比较弱。另外,有些功能虽然可以利用现有的命令组合实现,但使用起来比较麻烦。 举个例子:获取一个字符串的长度,这个简单的需求在批处理里面是没有标准命令的,虽然有些变通的实现方法,但是非常麻烦。 Batent是一个独立的exe可执行文件,集成了一些常用的命令,和批处理配套使用,方便脚本的编写。从某些方面Batent有点类似于Linux下的BusyBox(当然功能没有那么强大)。 #### 软件架构 Batent就是简单地利用C/C++以及Windows API实现了一些简单、常用的命令,并统一集成在一个exe可执行文件中。 #### 安装教程 源码在Windows平台下编译之后生成Batent.exe。
支持MinGW和MSVC编译器,对应两个编译脚本 BuildMinGW.bat 和 BuildMSVC.bat。先在脚本开始的地方修改编译器的路径,然后执行即可。 #### 使用说明 直接在Bat批处理中调用Batent.exe即可。 Batent.exe是一个独立的可执行文件,不依赖其他DLL #### 命令手册 本站Wiki [链接](https://gitee.com/longpanda/Batent/wikis/pages) #### 执行结果 Batent通过两种方式返回命令执行的结果: >##### 1. 通过返回值 >>对于一些整数类型的结果,通过返回值返回,比如字符串长度、文件大小等。
>>批处理里面调用完Batent命令之后直接使用 %ERRORLEVEL% 这个环境变量即可获得结果。 >>``` >>Batent.exe fs.get_file_size C:\test.bin >>set FileSize=%ERRORLEVEL% >>... >>``` >##### 2. 通过打印(标准输出) >>对于非整数类型的结果,或者超过了32位有符号整数范围的结果,Batenet通过printf打印输出。
>>对于结果中包含多个字段的,中间会以空格隔开。
>>批处理里面调用完Batent命令之后,可以使用 For /F 语句获得命令结果,比如:
>>``` >>For /f %%i in ('Batent.exe fs.get_file_size_ex C:\test.bin') do ( >> set LargeFileSize=%%i >>) >>``` #### 参与贡献 1. Fork 本项目 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request