V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Sponsored by
LinkedIn
不坐班的神仙工作 · 去任何你想去的地方远程,赚一线城市的工资
2000 个不用出门 Social 的全球远程工作,帮助 V2EX 的小伙伴开启全新的工作方式。
Promoted by LinkedIn
20498860
V2EX  ›  前端开发

我是前端,如果要给 windows 的 cmd 套一个壳,加一些快捷短语之类功能,需要了解哪方便的知识呢?

  •  
  •   20498860 · 2020-11-21 15:39:55 +08:00 · 1780 次点击
    这是一个创建于 676 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前大概了解了一下,找到了两种解决方案: 1,xterm.js ,但是这个似乎是 SSH 的,我需要 CMD 的 2,electron + node.js 再用 node 的一些接口来调用 Windows 的 cmd

    有没有懂的老哥讲讲,我的需求很简单,其实就是打开 cmd 的时候 cd 到项目给我执行 yarn serve 就行,所以想做一个支持自定义短语的功能,感觉应该很多人需要吧,CD 路径实在是太烦人了

    21 条回复    2020-11-22 22:31:48 +08:00
    PerFectTime
        1
    PerFectTime  
       2020-11-21 15:42:15 +08:00
    WSL 搞个 alias 不是很好?
    gwy15
        2
    gwy15  
       2020-11-21 15:43:22 +08:00
    为什么不直接写个 cmd / ps1 执行呢
    20498860
        3
    20498860  
    OP
       2020-11-21 15:48:50 +08:00
    @gwy15 想做个东西出来给别人用撒
    20498860
        4
    20498860  
    OP
       2020-11-21 15:49:45 +08:00
    @PerFectTime WSL 是指 Windows Subsystem for Linux 吗?我好像不需要这玩意
    noe132
        5
    noe132  
       2020-11-21 16:04:50 +08:00
    powershell -NoExit "cd C:\src\repo; yarn serve"
    20498860
        6
    20498860  
    OP
       2020-11-21 16:49:39 +08:00
    @noe132 这样的话 和复制粘贴没啥区别呀
    cyitao
        7
    cyitao  
       2020-11-21 17:12:06 +08:00 via iPhone
    为什么不用 windows terminal 呢?不仅解决你的需求,害比 cmd 好看很多。
    zhangshine
        8
    zhangshine  
       2020-11-21 17:26:56 +08:00
    生成一个 bat 文件,然后执行。

    会说我也想做个来着,但是你想做了我就等着你的大作了🤣
    20498860
        9
    20498860  
    OP
       2020-11-21 17:30:32 +08:00
    @cyitao 我电脑装的是 LTSC 版,装不了 windows terminal,我现在用的是 termius,体验上没啥问题,主要是嫌麻烦
    20498860
        10
    20498860  
    OP
       2020-11-21 17:31:45 +08:00
    @zhangshine 如果是 xterm.js 那样的用法,其实做起来并不麻烦。。感觉最多 electron 要踩下坑
    hihipp
        11
    hihipp  
       2020-11-21 17:35:21 +08:00 via iPhone
    如果只是执行这个命令,那就用注册表,给右键菜单添加一个「从这个目录执行」的功能项就好了。

    可参考
    https://zhuanlan.zhihu.com/p/68389277
    akira
        12
    akira  
       2020-11-21 17:42:18 +08:00
    打开记事本,写入
    --------
    cd 要去目录
    yarn server
    ------
    保存文件为 yarn.bat
    双击执行
    cmdOptionKana
        13
    cmdOptionKana  
       2020-11-21 17:44:37 +08:00   ❤️ 1
    我以前也有过类似的需求,最后选择了 AutoHotkey, 你可以参考我的做法 https://github.com/ahui2016/mima-go/blob/master/mima-gui.ahk

    我这个有 GUI 界面,可进行简单设置,还有 show console 键与 hide console 键,主要是考虑到如果程序出错,还可以点击 show console 键来看出错信息。

    一共也没多少代码,如果你不需要这么多功能,还可以简单很多。
    imn1
        14
    imn1  
       2020-11-21 18:01:22 +08:00
    快捷键还是 alias?

    alias 很简单

    alias.cmd
    ==========
    @echo off
    DOSKEY py36=...
    DOSKEY py37=...
    DOSKEY py38=...
    ...
    ===========


    alias.reg
    ==========
    Windows Registry Editor Version 5.00

    [HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
    "AutoRun"="PATHtoAlias\\alias.cmd"
    ==========

    想修改提示符就用 PROMPT 命令,颜色等等自己研究吧


    快捷键就找工具吧
    imn1
        15
    imn1  
       2020-11-21 18:03:41 +08:00
    补充,这个 alias.cmd 就是个 bat,启动 cmd 时执行,你想要自动跳转或其他立即执行的命令,写进去就是
    3dwelcome
        16
    3dwelcome  
       2020-11-21 18:26:11 +08:00 via Android
    输入法可以做到自定义短语,比如你打一个命令的缩写,出来的是全称,还有智能提示。
    3dwelcome
        17
    3dwelcome  
       2020-11-21 18:30:23 +08:00 via Android
    用 nodejs 的话,好像不能给 cmd 发送指定。最多操控一下粘贴板,也做不到你这种自定义短语的需求。
    前端的话,大多都写各种缩写批处理,感觉不是强需求。
    AndyAO
        18
    AndyAO  
       2020-11-21 18:44:53 +08:00
    为什么用 CMD?这是个已经停更的老东西,如果不是为了兼容的话,应该早就不用了.
    请用 PowerShell,在 Gallery 找 BookMark 模块,很完美实现目录书签功能.
    当然 PowerShell 几乎可以实现一切功能,因为能调用.NET
    AndyAO
        19
    AndyAO  
       2020-11-21 18:51:53 +08:00   ❤️ 3
    从你的描述来看,对 PowerShell 完全没有了解.
    除了之前说的模块有目录书签,"自定义短语"在 PowerShell 中有函数 /alias 都能实现这些功能,放在$Profile 里面,每次启动会自动设置.
    都是非常基本的东西.
    建议简单学习 PowerShell,会对工作有很大帮助.
    lxilu
        20
    lxilu  
       2020-11-22 01:19:48 +08:00 via iPhone
    electron 新动向:从 100B 到 100M
    人有多大胆,地有多大产
    20498860
        21
    20498860  
    OP
       2020-11-22 22:31:48 +08:00
    @AndyAO 之前完全没用过 powershell 我去看下吧
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2842 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 12:11 · PVG 20:11 · LAX 05:11 · JFK 08:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.