因为要用hexo 写博客的缘故,每次生成新的页面、编译、发布都需要在Powershell 中跳转到对应的目录下,但是Powershell 是用Listary 启动的,因此起始工作目录并不是我们想要的,简单的一个批处理脚本就能解决这个问题。
设置Powershell 的默认起始位置是一个解决方法,但是对于我来说Powershell 并不只用于操作hexo,因此排除这个解决方案。
另外一个解决方法是编写一个批处理文件,最开始的批处理文件如下:
@echo off
D:
cd .\document\blog\
将其保存为blog.bat
后,将所在目录C:\Users\Shadow-PC\Documents\customed_command
加入系统环境变量,重启系统(最简单的更新系统变量的方法)后,发现在CMD 中可以顺利跳转到目标位置,但是在Powershell 中则完全无效果。
在搜索引擎的帮助下,得出一个猜想:Powershell原生脚本是.ps1
格式,执行.bat
文件可能需要调用接口,此时会新开一个终端进程,.bat
中的命令只在这个新开的终端进程中起作用。批处理文件执行完成后,关闭该进程,此时仍是原来的工作目录。
因此转向写一个简单的Powershell 脚本,内容如下:
D:
cd .\document\blog\
发现Powershell 脚本中不支持echo 命令,删除即可。
重新打开Powershell,输入blog回车,跳转到目标目录,完工。