用BAT脚本一键开启工作模式

橘子 发布于 11 天前 56 次阅读


前言

有没有一种感觉,当你开始写论文、写代码,不经意间会打开很多网页,有些是重要的,有些则无关紧要……下次开始工作的时候又需要重新打开,非常麻烦。

现在的浏览器一般都自带了“打开上次关闭的页面”、“把特定页面添加到合集”这种功能,还是蛮好用的。比如说微软的edge有打开上次关闭的窗口、把标签页加入到组等功能;谷歌chorme也有类似的机制。然而,这些机制不能完全解决上述问题,因为开启工作状态可能还需要打开其他软件,比如说用typora写markdown、用vscode写代码。

使用脚本

脚本是个好玩意!设定一次,以后直接用就行;有了新的需求,就再增删改。打开工作区,只需要双击脚本!这里只分享Windows的BAT脚本设置,macOS、其他linux应该都是类似的原理,只是代码不同。

配置字符集

在Windows中,bat脚本有时候会因为字符集的原因不能处理中文汉字,导致执行出现问题,不能识别含有中文的路径或者网页链接(使用转义也会有问题)。此时,可以在bat脚本头部加上切换字符集的指令来解决这个问题:

chcp 65001

CHCP是一个计算机指令,能够显示或设置活动代码页编号。65001表示UTF-8代码页。

start

使用start命令可以用默认的方式打开指定的文件。比如说用默认浏览器打开网页、查看pdf、编辑markdown:

start https://cn.overleaf.com/project
start E:/我的论文/基于PatchOperationReplace的补丁制作方法.pdf
start E:/我的文档/readme.md

打开文件夹

打开文件夹也很重要!比如有时候某些文件夹存储了重要数据,我想一下打开。还是使用start命令就可以啦!

但是,有时候文件夹会带有空格,就需要给路径加上引号。但是,你会发现命令失效了,只会打开新的cmd窗口而不能打开文件夹。这是因为,上述start命令忽略了一个隐藏的参数——“窗口名称”。现在给路径加上了引号之后,命令以为这个路径是标题名,于是找不到路径了。

@REM 方法1. 对于无空格的路径可以直接打开
start D:\projects
start D:\projects\rimworld
@REM 方法2. 第一个空参数是可选参数,用于指定新窗口的标题。第二个参数表示要打开的文件夹.
start "" "D:\projects"
start "" "D:\projects\rimworld"

打开浏览器

这里以微软的edge为例,打开多个网页放在同一窗口。由于edge所使用的msedge.exe程序没有添加到系统路径,所以需要切换到对应目录进行打开。

@REM 这里是edge默认的安装路径,根据实际情况修改;根据所选择的浏览器修改exe文件名
cd /d "C:\Program Files (x86)\Microsoft\Edge\Application"
start msedge.exe https://cn.overleaf.com/project
start msedge.exe file:///E:/我的论文/基于PatchOperationReplace的补丁制作方法.pdf

打开其他软件

可以将程序设置为默认,然后打开文件。比如,将typora设置为打开markdown文件的默认程序,然后再使用先前提到的start命令打开。

再比如,打开vscode的方法也是同理。一般情况下,vscode已经把code作为系统变量添加了,所以直接使用code命令打开对应的文件夹或者文件即可。如果code命令无效,则可以把它添加到到系统变量PATH,或者参照浏览器打开的方法切换到vscode安装路径,再打开即可。

@REM 方法1. 使用已经添加到系统变量的code指令打开目录
code D:\projects\rimworld
@REM 方法2. 切换到vscode的安装路径,然后打开。注意,默认安装路径会有空格,注意处理。
cd /d "D:\software\VSCode\Microsoft VS Code"
start Code.exe D:\projects\rimworld