无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站数据恢复、数据保护、视频编辑
Win To Go 极致利器(IXUNCIS固态U盘)无忧启动网成立20周年!广告联系 QQ:184822951 微信:wuyouceo
楼主: CodeHz

[分享] 一个cmd的靠谱替代品 yori

    [复制链接]
 楼主| 发表于 2020-11-26 00:39:58 来自手机 | 显示全部楼层
plusv 发表于 2020-11-26 00:23
现在的硬盘都很大,
需要大数运算.


所以必须承认软件设计是有局限性的,不同的需求不可能同时满足,特别是加上微软的立命之本兼容性需求之后。
(反正我觉得整数运算很符合逻辑,非要浮点算那肯定要专门设计一个新的参数,然后不可能整出这种看起来就给金融领域等特殊场景使用的定点数(指尾部俩小数))
这种情况建议使用自动扩容的python处理(
实际上我认为任何复杂,严肃一点的需求,都应该用正经的语言编写,而不是使用一开始就为了方便批量调用程序的批处理,或者ps这种杂糅各种蜜汁设计然后四不像的东西来做
一来这样不容易出错,二来能实现的功能更多
(cmd没有数据类型,全都当做文本来做,这是作为shell的基础需求(ps这里就做的不好),也是导致它在功能性受限(但是ps也没扩展太多,如果不想折腾的特别复杂引入c#的话)的根本原因,即使拥有诸多好评的bash,也只是在类型系统上做了一丁点扩展,即加入了方便处理的字符串的列表类型,那些试图在类型方面加更多料的,都慢慢变成了小众/专有场景的脚本)

点评

所以我前面说 原则上 1. 找网上命令行工具 --> 2. 找不到合用的考虑自写小工具 --> 3. 最后才会考虑用 PowerShell.  详情 回复 发表于 2020-11-26 00:49
回复

使用道具 举报

发表于 2020-11-26 00:49:27 | 显示全部楼层
CodeHz 发表于 2020-11-26 00:39
所以必须承认软件设计是有局限性的,不同的需求不可能同时满足,特别是加上微软的立命之本兼容性需求之后 ...

所以我前面说

原则上
1. 找网上命令行工具 --> 2. 找不到合用的考虑自写小工具 --> 3. 最后才会考虑用 PowerShell.
回复

使用道具 举报

发表于 2020-11-26 04:50:40 | 显示全部楼层

下载试用
回复

使用道具 举报

发表于 2020-11-26 07:06:33 | 显示全部楼层
有需ˊ要感謝提ˊ供...
回复

使用道具 举报

发表于 2020-11-26 08:04:42 | 显示全部楼层
这个看看哈
回复

使用道具 举报

发表于 2020-11-26 08:06:46 | 显示全部楼层
看起来有点难学,cmd勉强够用了
回复

使用道具 举报

发表于 2020-11-26 08:44:18 | 显示全部楼层
回復學藝
回复

使用道具 举报

发表于 2020-11-26 08:47:02 | 显示全部楼层
学习学习!!!!!!!!!!!!!
回复

使用道具 举报

发表于 2020-11-26 08:57:39 | 显示全部楼层
试试!!!!!!
回复

使用道具 举报

发表于 2020-11-26 09:01:37 来自手机 | 显示全部楼层
运行sed命令提示缺少dll,看文件名像是gnuwin32中的dll

点评

(建议用官网发的那个),我这本地编译的好像有依赖  详情 回复 发表于 2020-11-26 09:58
回复

使用道具 举报

发表于 2020-11-26 09:09:29 | 显示全部楼层
看看编译
的效果
回复

使用道具 举报

发表于 2020-11-26 09:13:26 | 显示全部楼层
想起了尤里复仇的GAME
回复

使用道具 举报

发表于 2020-11-26 09:18:43 | 显示全部楼层
感谢分享,平常用得不多,随便看看
回复

使用道具 举报

发表于 2020-11-26 09:42:14 | 显示全部楼层
看看是什么好玩意
回复

使用道具 举报

 楼主| 发表于 2020-11-26 09:58:47 来自手机 | 显示全部楼层
my9823 发表于 2020-11-26 09:01
运行sed命令提示缺少dll,看文件名像是gnuwin32中的dll

(建议用官网发的那个),我这本地编译的好像有依赖

点评

不好意思,弄错了,最后发现是上次将sed.exe以及相关依赖dll复制到system32目录,发现不能用,没及时删除,后来忘了。今天搜索文件发现删掉。  详情 回复 发表于 2020-11-27 06:09
回复

使用道具 举报

发表于 2020-11-26 10:15:17 | 显示全部楼层
学习了,谢谢分享!
回复

使用道具 举报

发表于 2020-11-26 10:33:49 | 显示全部楼层
先star收藏起来
回复

使用道具 举报

发表于 2020-11-26 12:11:22 | 显示全部楼层
plusv 发表于 2020-11-25 21:55
junyee>比较奇怪的,作为受众这么广的 cmd.exe  这么多年都没什么变化。

比较奇怪的是

你这个问题很容易理解。也不能算是BUG,

随便用 set 输入一个大整数
1.png

提示精度为32位。他并没有说是否 无符号,事实上是有符号的。

最大的正整数即是 0x7fffffff,最小的是 0x80000000(即7fffffff 升1溢出值)

2.png

至于为什么不支持浮点数。
你刚才都已经嫌批处理所支持的整数范围太小,再来个浮点数合适嘛?

如你们所说 cmd 不改进是因为微软想抛弃它,这才能解释一切。






回复

使用道具 举报

发表于 2020-11-26 12:26:47 | 显示全部楼层
CodeHz 发表于 2020-11-25 21:41
其实那个窗口,也就是现在的conhost,倒是变化了很多(还有官方的windows terminal也算很不错),只不过c ...



我发现 yori 启动后,也会多启动一个conhost.exe。
具体的过程暂时超出我所知范围,

cmder 是套壳,不过确实蛮好用,尤其是对习惯了 linux 工具的人来说。
内置了 bash.exe 也很好用,或许还可以装装zsh 。

点评

conhost是控制台子系统的程序必须启动的(除非用新的ConPTY接口运行,这个就复杂了),这是微软的设计 意思是你如果没控制台,系统就自动给你创建一个,有的话,就继承父进程的。 (另外也不是不可以把yori跑在cmd  详情 回复 发表于 2020-11-26 12:40
回复

使用道具 举报

 楼主| 发表于 2020-11-26 12:40:58 来自手机 | 显示全部楼层
junyee 发表于 2020-11-26 12:26
我发现 yori 启动后,也会多启动一个conhost.exe。
具体的过程暂时超出我所知范围,


conhost是控制台子系统的程序必须启动的(除非用新的ConPTY接口运行,这个就复杂了),这是微软的设计
意思是你如果没控制台,系统就自动给你创建一个,有的话,就继承父进程的。
(另外也不是不可以把yori跑在cmder里)
至于bash,那绝对不是cmd的替代,(这不表示不好用,恰恰相反,合适的场景非常实用)原因很简单,它没有对cmd的兼容性,最基础的就是目录格式的问题,在win上很有异域风情的感觉)

点评

说到 bash.exe , 在 windows 下真的极少人会选用。 在我看来体验是比 cmd.exe 好的。 至于目录格式,windows 的反斜框 本就是个蹩脚的设计。[attachimg]469155[/attachimg]  详情 回复 发表于 2020-11-26 12:52
回复

使用道具 举报

发表于 2020-11-26 12:46:16 来自手机 | 显示全部楼层
看看吧
回复

使用道具 举报

发表于 2020-11-26 12:52:42 | 显示全部楼层
CodeHz 发表于 2020-11-26 12:40
conhost是控制台子系统的程序必须启动的(除非用新的ConPTY接口运行,这个就复杂了),这是微软的设计
...


说到 bash.exe , 在 windows 下真的极少人会选用。

在我看来体验是比 cmd.exe 好的。

至于目录格式,windows 的反斜框 本就是个蹩脚的设计。 QQ截图20201126125202.png

点评

(但是win的原生分割符就是这个,不能改变, 还有长度超过260个字符的路径(比如node_modules)在msys2/mingw那一套里处理也会出问题,但是用nt原生的方式访问就可以达到至少2048个字符的路径长度限制  详情 回复 发表于 2020-11-26 13:28
回复

使用道具 举报

 楼主| 发表于 2020-11-26 13:28:51 来自手机 | 显示全部楼层
junyee 发表于 2020-11-26 12:52
说到 bash.exe , 在 windows 下真的极少人会选用。

在我看来体验是比 cmd.exe 好的。

(但是win的原生分割符就是这个,不能改变,
还有长度超过260个字符的路径(比如node_modules)在msys2/mingw那一套里处理也会出问题,但是用nt原生的方式访问就可以达到至少2048个字符的路径长度限制

点评

为什么我测试的相反。 在 cmd/cmder 中创建 ``` mkdir abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890\abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890\abcdefghijklmno  详情 回复 发表于 2020-11-26 16:38
回复

使用道具 举报

发表于 2020-11-26 13:46:25 | 显示全部楼层
感谢大大分享
回复

使用道具 举报

发表于 2020-11-26 15:16:28 | 显示全部楼层
感谢分享!
回复

使用道具 举报

发表于 2020-11-26 15:37:28 | 显示全部楼层
感谢分享!
回复

使用道具 举报

发表于 2020-11-26 15:49:07 | 显示全部楼层
简单试用后的结论:非常之难用,对中文之支持非常之差,那个cmd窗口没有边框,看着非常难受,而且,还没地方设置。最主要它宣称的那些自动补全之类的功能,不能正常使用。

点评

(win10换成实验性utf-8支持就能用了( 窗口是windows内置的  详情 回复 发表于 2020-11-26 15:54
回复

使用道具 举报

 楼主| 发表于 2020-11-26 15:54:18 | 显示全部楼层
Climbing 发表于 2020-11-26 15:49
简单试用后的结论:非常之难用,对中文之支持非常之差,那个cmd窗口没有边框,看着非常难受,而且,还没地 ...

(win10换成实验性utf-8支持就能用了(
窗口是windows内置的
回复

使用道具 举报

发表于 2020-11-26 15:57:07 | 显示全部楼层
感谢分享,目前还不能完全替代啊
回复

使用道具 举报

发表于 2020-11-26 16:38:14 | 显示全部楼层
CodeHz 发表于 2020-11-26 13:28
(但是win的原生分割符就是这个,不能改变,
还有长度超过260个字符的路径(比如node_modules)在msys2/ ...

为什么我测试的相反。

在 cmd/cmder 中创建

```
mkdir abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890\abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890\abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890\abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890
```
都提示出错


用 yori/bash 创建都成功了。(NTFS)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2021-2-25 01:08

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表