跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 一个脚本拯救你的 windows 环境变量
未分類
28 12 月 2020

一个脚本拯救你的 windows 环境变量

一个脚本拯救你的 windows 环境变量

資深大佬 : lc1450 6

开发需要装很多程序,甚至一个程序有好几个版本 根据以往经验,都是把路径加入 PATH,渐渐的 PATH 变量越来越长,不方便管理

为了缓解这个问题, 我建了个目录 E:Tools 存放常用的独立命令(如 curl,wget),并将它加入 PATH 但是很多程序有大量的依赖 dll,总不可能都放一起吧

有时遇到一些命令需要类似 linux alias 设置默认参数在 cmd 里也得手动输入

思前想后,写了一个批处理简单实现了这个需求, 大概思路是 bat 被执行后取当前文件名(去后缀)作为命令名称,然后通过配置获取对应的程序并执行

脚本内容如下(配置解析用了 jq,需要自行下载):

@echo off setlocal  ::echo %*  set str1=%0 :: 截取当前命令名称 set "cmd1=%str1:.=" & set "xx=%" ::echo %cmd1%  set jq_filter=".%cmd1% | join(" ")"  ::echo %jq_filter% :: 用户 jq 获取启动命令和默认参数 :: 这里的配置文件路径需要更具实际情况设置为绝对路径 for /f "delims=" %%i in ('jq -r %jq_filter% n_config.json') do (  :: >= 1  -> ERROR  if errorlevel 1 (   echo "no config"   goto :EOF  ) else (   set rt=%%i  ) )  ::echo %rt%  %rt% %* 

配置文件 n_config.json:

{     "python37": {         "cmd": "E:\Python\Python37\python.exe",         "args": ""     },     "test_git": {         "cmd": "E:\git\bin\git.exe",         "args": "--version"     } } 

现在就可以把脚本命名成需要的名字, 并在配置文件写入目标程序路径参数信息

列如: 把上面的脚本保存为 python37.bat, 执行就会启动 E:PythonPython37python.exe

大家觉得这个方案如何,或者有更好的方案,或者对脚本的改进,欢迎大伙儿一起焦流

大佬有話說 (8)

  • 資深大佬 : pkoukk

    可 win10 的 path 是个列表啊..有啥不方便的

  • 資深大佬 : codehz

    @pkoukk #1 path 有最大长度限制* 4096 个字符
    主的方案思路不错,但是太慢了,win 上命令行程序启动延迟还是很明显的
    另外 cmd 是可以 alias 的,就是 doskey(

  • 資深大佬 : superrichman

    windows 下的 cmder 可以设置 alias,比默认 cmd 好用很多

  • 資深大佬 : ysc3839

    > 我建了个目录 E:Tools 存放常用的独立命令(如 curl,wget),并将它加入 PATH 但是很多程序有大量的依赖 dll,总不可能都放一起吧

    可以,用 msys2,可以共享的 dll 会复用,都是放在一起的。

  • 資深大佬 : jinliming2

    > 我建了个目录 E:Tools 存放常用的独立命令(如 curl,wget),并将它加入 PATH

    你完全可以程序正常安装,然后在 E:Tools 里创建快捷方式,快捷方式支持设置参数(直接跟在路径后面就行了),然后把这个路径加入 PATH 之后你就可以通过命令行执行里面的快捷方式了。比如 python.lnk 。
    然后配置环境变量 PATHEXT,把 .LNK 加进去,就可以在命令行里省略快捷方式的拓展名了。

  • 資深大佬 : codehz

    提示:dll 也会在 PATH 里找
    另外 curl 不是系统自带的吗

  • 資深大佬 : dyxang

    我是反的,恰巧需要一个把当前路径添加到 path 里的脚本,先前有个程序硬是无法在命令行运行,自己手动去加不小心把 path 全删了,又得系统还原。
    ps:搞不懂为什么网上很多都是说在“用户环境变量”下新建一个叫“PATH”的,不是“系统环境变量”吗,误导人

  • 資深大佬 : codehz

    @dyxang 如果没有多用户需求的话,加哪里都一样,windows 会合并用户的 path 和系统的 path

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具