我知道 linux
下可以在 .bashrc
文件里可以做一些快捷方式的命令,但是在 windows
下做快捷命令,我现在的做法是搞一个目录加入到系统环境变量,然后在这个目录里面写一些批处理文件,一个文件一个命令,感觉很是麻烦,因此想请问大佬 windows terminal
下能否将所有批处理文件放到一个文件里面去的方法呢?
请大佬们不要告诉我 cmd
power shell
这几个命令行下的处理方法啊!希望是 windows terminal
下的处理方法。
我知道 linux
下可以在 .bashrc
文件里可以做一些快捷方式的命令,但是在 windows
下做快捷命令,我现在的做法是搞一个目录加入到系统环境变量,然后在这个目录里面写一些批处理文件,一个文件一个命令,感觉很是麻烦,因此想请问大佬 windows terminal
下能否将所有批处理文件放到一个文件里面去的方法呢?
请大佬们不要告诉我 cmd
power shell
这几个命令行下的处理方法啊!希望是 windows terminal
下的处理方法。
在 Windows Terminal 中,你可以使用以下方法将多个快捷命令写入一个文件中:
shortcuts.txt
。shortcuts.txt
文件中,每一行写入一个快捷命令。你可以使用命令的完整路径或相对路径。例如,以下是一个 shortcuts.txt
文件的示例:
# 快捷命令 1
cd C:\Users\Username\Documents
dir
# 快捷命令 2
cd C:\Program Files\ExampleApp
start ExampleApp.exe
shortcuts.txt
文件放到一个目录下,并将其添加到 Windows Terminal 的配置文件中。你可以在 Windows Terminal 的设置中进行配置文件的编辑。"commandOverrides"
部分,并添加以下内容:"commandOverrides": {
"*": {
"commands": {
"open": {
"shell": "powershell",
"command": "type $home\\AppData\\Local\\Packages\\Microsoft.WindowsTerminal_8wekyb3d8bbwe\\LocalState\\shortcuts.txt"
}
}
}
}
这将告诉 Windows Terminal 在执行 open
命令时,读取并执行 shortcuts.txt
文件中的命令。
open
命令时,Windows Terminal 将按照 shortcuts.txt
文件中的顺序执行每个快捷命令。请注意,上述方法使用了 PowerShell 解释器来执行快捷命令。如果你想使用其他解释器(如 cmd 或 bash),你可以相应地修改配置文件中的 "shell"
和 "command"
值。
如果是 CMD 的话,应该没啥好办法,你只有创建单个文件的。
如果是 powershell 的话,你可以直接执行
echo $profile
(你可以在 Windows Terminal 里面将 powershell 或者 pwsh 设置为默认(推荐)。)
他会显示一个路径,你使用文本编辑器打开进行编辑就行了,如果没有这个文件,你可以执行以下命令来创建,或者手动创建,他就相当于 bash 的 .bashrc
。
New-Item $profile -Type File -Force
你可以在里面使用 powershell 的语法进行编写,举个例子。
function say1($name){
echo "name: $name, args: $args"
}
现在重新打开 powershell 或者执行,重新载入文件
. $profile
执行命令
say1 anna a1 a2 a3
将会得到输出 name: anna, args: a1 a2 a3
PowerShell 文档:
注意:MSDN 上 Powershell 默认文档版本是最新的 7.4 ,而系统自带的 PowerShell 大多不是最新的,你需要执行 echo $Host
来查看你得 PowerShell 版本,寻找对应版本的文档。
一般还另外建议安装单独的 Pwsh
1 回答2.8k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
1 回答2.2k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
2 回答1.4k 阅读
4 回答1.5k 阅读
2 回答1.1k 阅读✓ 已解决
.bashrc
说起来是一个配置,实际上就是一个 Bash 脚本,它会在 Bash 启动的时候加载执行。而所谓的“做一些快捷方式的命令”,实际上是利用了alias
命令给某些命令定义了别名,方便快捷使用而已。所以按你的要求,可以归纳成一句话:做一个可初始化环境的脚本来映射一些命令。
但是说到 Windows Terminal,这东西就是一个终端工具,本质上是 Windows 里终端工具的 UI 封装,本质上里面跑的还是各种终端环境,比如:CMD(命令提示符)、PowerShell、WSL 等:
如果不了解,可以先看看官方介绍:Windows 终端概述 | Microsoft Learn
而不同的终端环境自动脚本和映射命令的方式是不一样的。Windows 下主要是 CMD 和 PowerShell。CMD 在逐渐被淘汰,不过有时候不得不用。而 PowerShell 系统默认带的版本较低,建议使用最新的 PowerShell 7。
CMD
CMD 使用
doskey
命令来配置命令别名。具体怎么使用可以用doskey /?
来查看帮助,或者网上搜。举个例如果希望打开 CMD 的时候自动运行初始化脚本,需要配置注册表,可以在这两个地方配置名为
AutoRun
的字符串值 (REG_SZ),指向特定的脚本文件。HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\
HKEY_CURRENT_USER\Software\Microsoft\Command Processor
PowerShell
PowerShell 本身就有
alias
命令,甚至已经预置了不少“别名”,直接用alias
就可以看到设置别名用
Set-Alias
命令就好。比如where
命令在 Windows 下可以用来查找可执行命令的位置,但是在 PowerShell 中被where
别名覆盖掉了,所以可以自己定义一个whereis
来代替:如果想运行初始化脚本也很简单,
$profile
指向的文件就是初始化脚本,直接编辑就行。$profile
是一个 PowerShell 变量,直接使用可以看到它的值,可以看到它就在“我的文档”下。第一次编辑的时候如果这个文件不存在,创建一个就好。