windows 命令提示符中的自定义命令

Posted

技术标签:

【中文标题】windows 命令提示符中的自定义命令【英文标题】:Custom commands in windows Command Prompt 【发布时间】:2011-07-08 02:12:04 【问题描述】:

如何编写自定义命令以在 Windows 命令提示符下使用 Notepad++ 文本编辑器打开文件。

例如。

C:\Sites>ntp abc.txt

在 Notepad++ 中打开文件 abc.txt

【问题讨论】:

【参考方案1】:

创建一个包含这一行的批处理文件

@START c:\Program Files\Notepad++\notepad++.exe "%1"

并将其放入 PATH 列表中的某个目录(或者,将带有 .bat 文件的目录添加到 PATH)。

【讨论】:

这会在记事本中打开作为参数传递的文件,而不是在记事本++中 是否可以将此命令设置为.txt类型文件的默认程序? 我认为您可以使用“打开方式”对话框,浏览到 bat 文件,选择它,然后将复选框设置为“始终使用”。 如果将两个批处理文件同名但位于不同目录和路径的两个批处理文件添加到PATH列表中会怎样 嗯,显而易见的选择是重命名文件之一。或者您可以创建另一个具有不同名称的命令,指向其中一个文件,并列出完整路径。【参考方案2】:

您可以使用doskey。试试:

doskey ntp=notepadpp.exe

现在你可以做的很简单:

ntp blah.txt

【讨论】:

我用这个:doskey ntp="C:\Program Files\Notepad++\notepad++.exe" $* 嗯.. 命令只存储在内存中,所以当您关闭控制台时,您会丢失命令。 我喜欢这个答案,但后来我读了@Cort3z 的评论,然后很失望。有什么方法可以让 cmd 保存该命令? 我比接受的答案更喜欢这个答案,因为它更简单。我不希望两个必须创建一个文件并将其添加到 %PATH%。【参考方案3】:

创建一个.bat文件并保存为npt.bat

在该文件中放入以下代码行(或将其更改为与 notepad++.exe 的路径匹配))

@START c:\"Program Files (x86)"\Notepad++\notepad++.exe "%1"

请注意,路径的任何部分都需要引号,其中包含空格。

现在将它放在您喜欢的任何目录中,并将该目录添加到用户变量中的 PATH 中。

【讨论】:

【参考方案4】:

您还可以创建一个 bat 文件来执行您想要的操作(在此处的其他答案中提到),然后将其放在 C:\Windows\System32 中。

通过写入文件名来执行它。例如 ntp 如果您的文件名为 ntp.bat

确保在尝试新的超酷自定义命令之前重新启动命令行。

【讨论】:

【参考方案5】:

假设我们使用 3 个不同版本的 python,并希望将每个版本都称为以下命令:

python36 -m pip install numpy python38 -m pip list python310 --version

只需创建一个名为“python36.cmd”的文件并在其中写入这一行

"C:\Program Files\Python36\python.exe" %*

并将其放在 PATH 中已经存在的目录中。 如果你使用 VSCode,那么它的 bin 目录已经在 PATH 变量中。所以把 python36.cmd 文件放在那里。

【讨论】:

【参考方案6】:

除了@Kaerber的回答

这对我有用

@START c:\"Program Files"\Notepad++\notepad++.exe "%1"

虽然这不起作用(只是打开资源管理器)

@START "c:\Program Files\Notepad++\notepad++.exe" "%1"

【讨论】:

【参考方案7】:

使用 doskey 您可以创建一个快捷方式来加载这些命令的列表,应该可以解决您的问题。设置“start in”以选择 shell 打开的位置。

dosmacro.lnk

C:\Windows\System32\cmd.exe /k Doskey /macrofile="C:\Users\John.Edens\Documents\Programming\Scripts\_Main\Doskey\macros.txt"

宏.txt

    eg="C:/Program Files (x86)/EventGhost/EventGhost.exe" -event $1
ing=ping 166.252.$1
amts.audi=ping 166.252.**.**
amts.sfa=ping 166.252.***.***
amts.ers=ping 166.252.***.***
amts.wbt=ping 166.252.***.****
amts.rej=ping 166.252.***.**
++=@START "C:\Program Files\Notepad++\notepad++.exe" $1
rain="C:/Program Files (x86)/EventGhost/EventGhost.exe" -event rain
holly="C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --new-window https://www.messenger.com/t/hol*********
kill="C:\Users\John.Edens\Documents\Programming\Scripts\_Main\Killghost.vbs"
undock=="C:/Program Files (x86)/EventGhost/EventGhost.exe" -event undock
dosadd="C:/Program Files (x86)/EventGhost/EventGhost.exe" -event dosadd

【讨论】:

以上是关于windows 命令提示符中的自定义命令的主要内容,如果未能解决你的问题,请参考以下文章

magnolia 中的自定义命令定义

Python中的自定义命令行解析

从cmd调用Windows 7中的通知气球消息?

如何仅列出我的自定义命令(Laravel)?

自定义 Sudo 命令

具有权限的自定义操作