Windows Path有git,但我的bat文件一直在说';吉特';不被识别为内部或外部命令

Windows Path有git,但我的bat文件一直在说';吉特';不被识别为内部或外部命令,windows,git,batch-file,Windows,Git,Batch File,我制作了一个小的bat文件,试图在一个更大的bat文件中找到问题 问题是bat文件一直在说 “git”未被识别为内部或外部命令 但是,git在我的路径变量中,我可以进入CMD并输入git状态,它可以工作。只有当我有以下代码时,才会发生此问题 setlocal set PATH=%PATH% git status pause 如果我这样做,它会起作用。。。(但是我需要能够在.bat文件执行期间临时附加PATH变量,所以我不能只删除设置路径部分…) 有人知道问题出在哪里吗?使用用户/系统环境变量并

我制作了一个小的bat文件,试图在一个更大的bat文件中找到问题

问题是bat文件一直在说

“git”未被识别为内部或外部命令

但是,git在我的路径变量中,我可以进入CMD并输入git状态,它可以工作。只有当我有以下代码时,才会发生此问题

setlocal
set PATH=%PATH%
git status
pause
如果我这样做,它会起作用。。。(但是我需要能够在.bat文件执行期间临时附加PATH变量,所以我不能只删除设置路径部分…)


有人知道问题出在哪里吗?

使用用户/系统环境变量并设置路径。重新启动系统,系统将正常工作

我发现问题

我已经安装了MySQL,它在我的Path变量中安装了2个路径。。。每个都有一个&符号

这导致在bat文件中使用Path运行操作时出现问题


解决方案是将两个MySQL路径变量中的每一个都用引号括起来。

在调用git之前,是否可以执行echo%path%并查看路径是什么?
%path%
是系统路径变量,
%path%
是用户路径变量。在“我的环境变量”窗口中查看时,哪个是“
git
的一部分?@J.Titus%Path%”在我的系统变量中。。。“我的用户变量”中没有命名的PATH或PATH…因此,当您执行
PATH=%PATH%
操作时,实际上是将
PATH
设置为nothing?批处理变量(循环变量的
除外)不区分大小写<代码>%PATH%
%PATH%
是完全相同的变量。我已经尝试过(使用系统环境变量)。。。我仍然会遇到错误,需要能够使用批处理文件设置临时路径。No。在附加到路径时,只需正确设置path变量<代码>设置“PATH=%PATH%;C:\somefolder”我没有测试您的解决方案。。。但即使它真的起作用了。。。一次尝试解决所有问题比每次解决每个问题要好。(因为您的方法只会修复这一个bat文件,并且必须对每个bat文件重复,如果它有效的话)。这就是为什么您要从命令提示符而不是仅仅在脚本中运行该命令。@SomethingDark有一个很好的观点。每次尝试重置path变量时,您都应该看到代码抛出错误。
setlocal
git status
pause