如何在Windows上从CMD中的任何位置调用.bat文件

如何在Windows上从CMD中的任何位置调用.bat文件,windows,command,prompt,Windows,Command,Prompt,我有一个批处理文件,我想从任何目录在CMD中执行。大概是这样的: 文件名:MyBatch 路径:C:\MyBatch.bat 打开命令: c:\Program Files>MyBatch 如何实现这一点?您可以将其放在c:\windows\system32目录中,因为它始终位于系统路径中。您需要设置path环境变量以包含批处理文件的路径在path环境变量中设置该位置 我不会把它放在根目录或系统目录中 我在C:\DRR\CMD中保存了一个包含所有脚本的目录 并在MyComputer GUI中进行设

我有一个批处理文件,我想从任何目录在CMD中执行。大概是这样的:

文件名:MyBatch

路径:C:\MyBatch.bat

打开命令: c:\Program Files>MyBatch


如何实现这一点?

您可以将其放在
c:\windows\system32
目录中,因为它始终位于系统路径中。

您需要设置path环境变量以包含批处理文件的路径

在path环境变量中设置该位置

我不会把它放在根目录或系统目录中

我在C:\DRR\CMD中保存了一个包含所有脚本的目录

并在MyComputer GUI中进行设置或在命令脚本中运行:

set PATH=%PATH%;C:\DRR\CMD

如果您正在谈论Windows,则需要设置PATH环境变量

放置bat文件的路径应附加到path变量。 在您的示例中,在Path环境变量的值中附加“C:\;”


然后,您可以在命令行的任何位置执行MyBatch.bat。

创建一个名为
Batches
的文件夹(比如在您的C驱动器中)

将C:\Batches追加到您的
路径
环境变量中,然后您就可以从任何地方运行该目录中的批处理文件。

如何。。。
“%MyBatch%”
?(设计双QOUTE)应该可以!

要更改变量,请使用

set MyBatch=“Path\Whatever.bat”
要向用户询问字符串,请使用
set/p MyBatch=“Question?”


--或者,您可以使用BAT-to-EXE转换器在可执行文件中运行批处理。

为什么选择向下投票?这是一种完成任务的合法方法。这是一个坏主意,除非用户在管理组中,否则批处理文件无论如何都不能放在那里。永远不要将用户的内容放在c:\Windows\System32(普通用户无论如何都不能写入该目录,这是一个很好的理由)是的,但问题是“不管设置了什么路径”所有其他的解决方案都建议添加或修改路径。谢谢你,这对我很有用。最后,我把所有批处理文件都放在
C:\alias
中,我可以调用
psql
cd到常用目录,运行任务等等。