更方便地用命令行打开浏览器

摘要

【水文】
记录本咸鱼一次尝试在 cmd 中使用 chrome 浏览器打开 html 文件的过程

咸鱼的烦恼

今天,本咸鱼又开始 水起了博客 认真写博客,正当我写上兴头,兴奋得打出chrome output.html这样的指令时,cmd 给了我严厉的警告

1
2
3
E:\Notebook_ML>python DiscreteEntropy.py > output.html && chrome output.html
'chrome' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

咋回事儿呢

正如 cmd 所言,chrome 不是系统的内部命令或外部命令,也不是批处理文件。

但是,Chrome 不是可运行的程序吗???
我每天都在运行呢,怎么就不可运行了呢

其实,这是因为我可爱的 Chrome 并没有被添加进环境变量中

环境变量相当于给系统或用户应用程序设置的一些参数,具体起什么作用这当然和具体的环境变量相关。比如 path ,是告诉系统,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到哪些目录下去寻找

因此,系统没有在设置好的命令中找到 chrome 指令,也没有在当前目录下找到名为 chrome 的程序或 bat 文件

但是懒惰的 LZY 咸鱼仍然想要优雅舒适地用命令行打开浏览器

动手解决

方案一

使用 Chrome 的绝对路径

1
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" output.html

因为路径中存在空格,所以我使用双引号包了起来

  • 至于为什么微软既不用 “ProgramFile(x86)” ,也不用 “Program_File_(x86)” ,而是用 “Program Files (x86)” 这样令人蛋疼的名字作为软件的默认安装目录名称,就要从 Windows 95 说起了,当初 Windows 95 开始支持长文件名特性,而微软为了秀一波特性,同时让文件名更易于阅读,就起了这么个名字,真是 没事找事 一举两得!

但是每次都搞这么长一串绝对路径,实在是难顶啊

方案二

创建批处理脚本 chrome.bat

既然输路径那么麻烦,那我把它存起来就好了
创建 chrome.bat 文件,写入:

1
2
@echo off
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" %1

  • @echo off 表示关闭命令回显
  • %1 表示接受命令行的第 1 个参数

然后将此批处理文件丢到 html 文件目录下,就可以用

1
chrome.bat output.html


1
chrome output.html

打开指定的 html 文件了

但是本咸鱼还不满足,我还想在任何目录下都可以用这个方便的 chrome.bat 打开 html 文件

方案三

配置 Path 环境变量

首先把 chrome.bat 放在一个安全的地方,然后把它所在的目录的绝对路径添加进环境变量

(也可以放在本来就在 %PATH% 的目录中,如 C:\Windows\system32

重启

chrome output.html

Chrome 神奇地打开了

方案四

经大佬指点,以上方案均为弟弟方案,纯属多余装逼
事实上,只需要将 chrome.exe 快捷方式的绝对路径添加进环境变量就可以了

方案五

直接 start output.html 就行了,效果和双击打开一样。

于是酸菜咸鱼又能继续愉快地水博客了~