This commit is contained in:
nsnail 2022-12-12 22:10:27 +08:00
parent 4d1a6e6e4e
commit 6c68d46d31
10 changed files with 173 additions and 31 deletions

100
README.md
View File

@ -1,20 +1,88 @@
# dot
[](README.zh-CN.md) | **En**
Cross-platform, all-around utility set with a beautiful character interface-the Swiss Army knife
A full-featured utility - the programmer's swiss army knife
### Brief introduction
```mermaid
graph LR;
dot-v1.1.5-->File-newline-character-conversion-tool
dot-v1.1.5-->NTP-clock-synchronization-tool
dot-v1.1.5-->Various-text-codec-tools
dot-v1.1.5-->Remove-the-file-UTF-BOM
dot-v1.1.5-->Remove-the-blank-of-the-file
dot-v1.1.5-->Random-password-generator
dot-v1.1.5-->Json-utility
dot-v1.1.5-->Ip-utility-tool
dot-v1.1.5-->GUID-generator
dot-v1.1.5-->Git-command-bulk-executor
dot-v1.1.5-->Screen-coordinates-and-pixel-picker
```
The dot is the one based on the one. NET 7, a cross-platform command-line tool, integrates more than 10 utilities that program developers often use in their daily work, and is constantly increasing.
```
USAGE:
dot [OPTIONS] <COMMAND>
OPTIONS:
-h, --help Prints help information
-v, --version Prints version information
COMMANDS:
git Git batch operation tool
color Screen coordinate color selection tool
guid GUID tool
ip IP tools
json Json tool
pwd <password length> <generate type> Random password generator
rbom Remove the uf8 bom of the file
trim Remove line breaks and spaces at the end of the file
text Text encoding tool
time Time synchronization tool
tolf Convert newline characters to LF
get <url> Multithreaded download tool
```
### Some functional examples
- ##### Git batch management
When you have a clone and a lot of git repositories, use this command to pull their latest code all at once:
```
dot git -a "pull" d:\repos
```
![20221212212417](./doc/snapshots/20221212212417.png)
Similarly, you can execute any git commands on a bunch of git repositories in bulk:
```
dot git -a "config --get http.proxy" d:\repos
```
![20221212213957](./doc/snapshots/20221212213957.png)
- ##### High-precision time-clock synchronization
Supports parallel requests from multiple NTP clock servers, while removing the network communication duration to set the precise synchronization of the native clocks with the NTP standard time:
```
dot time -k
```
![20221212214514](./doc/snapshots/20221212214514.png)
- ##### Text codec
Copy you need to view various codec text in the clipboard, and then enter the following command to view
```
dot text
```
![20221212214904](./doc/snapshots/20221212214904.png)
- ##### Multi-threading download tool
Support setting the block size, number of threads to replace the single thread wget tool:
```
dot get https://github.com/nsnail/dot/releases/download/v1.1.1/dot-v1.1.1-win-x64.7z
```
![20221212215259](./doc/snapshots/20221212215259.png)
- ##### Remove the blank at the end of the file
Remove excess spaces and line breaks in the tail of all files in the specified directory:
```
dot trim d:\repos
```
![20221212215853](./doc/snapshots/20221212215853.png)

View File

@ -1,18 +1,87 @@
# dot
功能全面的实用工具 - 程序员的瑞士军刀
跨平台的、具有美观字符界面的全能实用工具集 - 程序员的瑞士军刀
```mermaid
graph LR;
dot-v1.1.5-->文件换行符转换工具
dot-v1.1.5-->NTP时钟同步工具
dot-v1.1.5-->各种文本编解码工具
dot-v1.1.5-->移除文件UTF-BOM
dot-v1.1.5-->移除文件尾部空白符
dot-v1.1.5-->随机密码生成器
dot-v1.1.5-->Json实用工具
dot-v1.1.5-->Ip实用工具
dot-v1.1.5-->GUID生成器
dot-v1.1.5-->Git命令批量执行器
dot-v1.1.5-->屏幕坐标和颜色选取工具
```
### 简介
dot 是一款基于.NET7跨平台的命令行工具集成10多种程序开发人员在日常工作常常用到的实用功能并且还在不断增加。
```
USAGE:
dot [OPTIONS] <COMMAND>
OPTIONS:
-h, --help Prints help information
-v, --version Prints version information
COMMANDS:
git Git批量操作工具
color 屏幕坐标颜色选取工具
guid GUID工具
ip IP工具
json Json工具
pwd <password length> <generate type> 随机密码生成器
rbom 移除文件的uf8 bom
trim 移除文件尾部换行和空格
text 文本编码工具
time 时间同步工具
tolf 转换换行符为LF
get <url> 多线程下载工具
```
### 部分功能示例
- ##### Git批量管理
当你clone了大量的git仓库 使用这条命令可以一次性拉取它们的最新代码:
```
dot git -a "pull" d:\repos
```
![20221212212417](./doc/snapshots/20221212212417.png)
类似地你可以批量对一堆git仓库执行任何git命令
```
dot git -a "config --get http.proxy" d:\repos
```
![20221212213957](./doc/snapshots/20221212213957.png)
- ##### 高精度时钟同步
支持多个NTP时钟服务器并行请求同时除去网络通信时长以设置本机时钟与NTP标准时间精确同步
```
dot time -k
```
![20221212214514](./doc/snapshots/20221212214514.png)
- ##### 文本编解码
复制你需要查看各种编解码的文本在剪贴板中,然后输入如下命令,即可查看
```
dot text
```
![20221212214904](./doc/snapshots/20221212214904.png)
- ##### 多线程下载工具
支持设置分块大小线程数量用以替代单线程的wget工具
```
dot get https://github.com/nsnail/dot/releases/download/v1.1.1/dot-v1.1.1-win-x64.7z
```
![20221212215259](./doc/snapshots/20221212215259.png)
- ##### 移除文件末尾空白
移除指定目录下所有文件尾部多余的空格和换行符:
```
dot trim d:\repos
```
![20221212215853](./doc/snapshots/20221212215853.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -0,0 +1,2 @@
for %%i in (*.png) do pngquant %%i --force --output %%i --skip-if-larger
for %%i in (*.jpg) do jpegtran -copy none -optimize -perfect %%i %%i

View File

@ -1,3 +1,4 @@
using System.Globalization;
using System.Text;
using Dot;
using Dot.Git;
@ -28,4 +29,6 @@ app.Configure(config => {
});
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
CultureInfo.CurrentCulture = CultureInfo.GetCultureInfo("en-US");
CultureInfo.CurrentUICulture = CultureInfo.GetCultureInfo("en-US");
return app.Run(args);