zoukankan      html  css  js  c++  java
  • clink 命令行控制台 自动运行脚本windows

    cmd.exe /s /k pushd "%V"

    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINESOFTWAREMicrosoftCommand Processor]
    "autorun"="chcp 65001"
    
    Windows Registry Editor Version 5.00
    
    [HKEY_CURRENT_USERSoftwareMicrosoftCommand Processor]
    "AutoRun"=""C:\Program Files (x86)\clink\0.4.9\clink.bat" inject --autorun --profile ~\clink"
    
    

    方式2 cmd 注入

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINESOFTWAREMicrosoftCommand Processor]
    "AutoRun"="C:localinautorun.cmd"

    @echo off
    call "C:Program Files (x86)clink.4.5clink" inject --profile "~clink
    prompt [%username%@%userdomain% $n:$+]$$$S
    doskey /macrofile=c:localin\_doskey
    

    clink安装

    clink: 为cmd提供增强的工具,自动补齐之类的。
    直接下载安装,可安装在自定义的目录中,它会自动添加环境变量。

    autorun

    自动安装之后,默认应该打开cmd就会自动先加载了clink, 命令行中就可以直接使用clink了。如果没有自动带出,需要执行clink autorun install

    通过 clink autorun show 也可以查看当前的配置。比如我这里展示的是:

    clink autorun set "D:Program Files (x86)clink.4.8clink.bat" inject --autorun --profile ~/clink
    

    底层算是调用了windows的autorun命令,在启动cmd之前注入clink,这里--profile ~/clink 我不知道在windows下有何作用。

    利用这个条件,我们可以配合doskey,完成alias命令。比如我在C:Bin下创建一个alias.bat文件,里面写入:

    @echo off
    doskey ls=dir $*
    

    通过clink autorun set "C:inalias.bat" "&&" "D:Program Filesclink-1.0.0a1.823d84clink.bat" inject --autorun ,我将这个alias.bat也注入到命令行上下文中,这样就可以在命令行中,使用ls代替dir了。

    Linux 上的 Bash 命令行编辑功能强大,这得归功于 readline 这个库所提供的编辑功能。Windows 上的命令行 cmd.exe 一向以功能简单,编辑能力原始为人所诟病。但是 clink 给 cmd.exe 在编辑方面带来了一剂良药。

    安装

    clink 为 cmd.exe 带来了 readline 的集成,以至于你可以在 cmd.exe 中使用类似 Vi 的键绑定。

    安装完 clink 之后,默认会修改注册表,然后在启动 cmd.exe 自动启动 clink,会显示以下信息:

    link v0.4.9 [git:2fd2c2] Copyright (c) 2012-2016 Martin Ridgers
    http://mridgers.github.io/clink

    如果没有的话,则需要手动 inject 一下,假设 clink.exe 在你的 PATH 环境变量中找到,执行clink autorun install

    然后执行clink autorun show,会有类似一下的信息输出:

    native : "C:Users amescoopappsclinkcurrentclink.bat" inject --autorun

    配置 Vi 键绑定

    根据 clink/issues/235 的介绍的方法来配置%userprofile%clink_inputrc的内容如下:

    ## firstly, ensure you're using clink 4.2.2, not 4.2
    ## Also, if you're using ConEmu, make sure that the following setting is disabled 
    #     Settings > Features > Use Clink in Prompt
    
    cmd /k %HOMEDRIVE%%HOMEPATH%/Documents/clink_0.4.2/clink_x64.exe inject --profile %HOMEDRIVE%%HOMEPATH%/Documents/clink_0.4.2/clink_inputrc_base
    
    ## To make it a little more similar to bash's vi mode, I added these entries to my clink_inputrc_base
    
    set keymap vi
    
    set editing-mode vi
    C-l: clear-screen
    
    M-h: backward-char
    M-k: history-search-backward
    M-j: history-search-forward 
    M-l: forward-char
    

    重启 cmd.exe 即可使用 clink.exe 的键绑定

    加载额外的配置

    如果想在运行 clink 之前加载其他的配置文件(比如你希望添加一些环境变量),可以用以下介绍的方法。

    假设这个配置文件是%userprofile.configcmd_profile.bat里面有需要添加的环境变量,先使用下面的命令来设置 cmd.exe 的启动配置:

    clink autorun set "%userprofile%.configcmd_profile.bat"

    上面的操作会覆盖原先 clink 的设置,所以在上面的步骤之后要重新执行:

    clink autorun install

    搞定!

  • 相关阅读:
    Flush输出表格内容
    [From Linux Toy] inxi– bash script to get system information
    .NET中Mocking框架的对比
    Python中的对象和动态性 [菜鸟的理解,高手莫入]
    《正见 佛陀的证悟》读书摘记 (1)
    Quote for tomorrow
    不抱怨就会死
    web deploy + windows server 2008 r2 64bit + iis 7.5
    bootsnipp
    [转载] A Beginner's Guide to HTTP Cache Headers
  • 原文地址:https://www.cnblogs.com/meetrice/p/14211005.html
Copyright © 2011-2022 走看看