提示reg不是批处理命令怎么办

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了提示reg不是批处理命令怎么办相关的知识,希望对你有一定的参考价值。

'regsvr32' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'reg' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'reg' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'reg' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'reg' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
请按任意键继续. . .

系统环境变量被改了
进入控制面板》高级》环境变量》系统变量,Path双击一下,填入C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;
确定

这样还不会就运行一下
C:\WINDOWS\System32\Wbem\wmic.exe environment where "name='path' and username='<system>'" set VariableValue="%windir%\system32;%windir%;%windir%\System32\Wbem"
参考技术A cmd下运行以下命令行:
path=c:\windows\system32;%path%
将系统的path路径指向,cmd各命令程序所在的文件

不过如果你在c:\windows\system32文件夹中找不到reg.exe,那就是缺失系统文件的问题了,

如果你的系统盘是d:盘,则将以上的c:换成d:来做
参考技术B 系统环境变量被改了
进入控制面板》高级》环境变量》系统变量,Path双击一下,填入C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;
确定

这样还不会就运行一下
C:\WINDOWS\System32\Wbem\wmic.exe environment where "name='path' and username='<system>'" set VariableValue="%windir%\system32;%windir%;%windir%\System32\Wbem"
参考技术C 打开注册表导入

命令提示错误“C:\Program”不是内部或外部命令、可运行程序或批处理文件

【中文标题】命令提示错误“C:\\Program”不是内部或外部命令、可运行程序或批处理文件【英文标题】:Command Prompt Error 'C:\Program' is not recognized as an internal or external command, operable program or batch file命令提示错误“C:\Program”不是内部或外部命令、可运行程序或批处理文件 【发布时间】:2014-09-14 07:27:07 【问题描述】:

我正在尝试运行以下批处理命令。该命令已从 IDE 中提取,因此已确认可以正常工作。得到下面提到的错误。

我尝试了一些带有双引号的变体,但没有奏效。 即使在 powershell 上,它也有相同的消息。

C:\Program Files\IAR Systems\Embedded Workbench 7.0\430\bin\icc430.exe F:\CP001\source\Meter\Main.c -D Hardware_P20E -D Calibration_code -D _Optical -D _Configuration_TS0382 -o F:\CP001\Temp\C20EO\Obj\ --no_cse --no_unroll --no_inline --no_code_motion --no_tbaa --debug -D__MSP430F425 -e --double=32 --dlib_config C:\Program Files\IAR Systems\Embedded Workbench 7.0\430\lib\dlib\dl430fn.h -Ol --multiplier=16 --segment __data16=DATA16 --segment __data20=DATA20

更新:

尝试使用引号的解决方案会以某种方式混淆编译器

【问题讨论】:

你需要将命令放在双引号"中,否则命令提示符会认为C:\Program是要运行的程序,其余的都是它的参数。 即使双引号也不起作用 【参考方案1】:

如果目录中有空格,请在其周围加上引号。这包括您正在调用的程序,而不仅仅是参数

"C:\Program Files\IAR Systems\Embedded Workbench 7.0\430\bin\icc430.exe" "F:\CP001\source\Meter\Main.c" -D Hardware_P20E -D Calibration_code -D _Optical -D _Configuration_TS0382 -o "F:\CP001\Temp\C20EO\Obj\" --no_cse --no_unroll --no_inline --no_code_motion --no_tbaa --debug -D__MSP430F425 -e --double=32 --dlib_config "C:\Program Files\IAR Systems\Embedded Workbench 7.0\430\lib\dlib\dl430fn.h" -Ol --multiplier=16 --segment __data16=DATA16 --segment __data20=DATA20

【讨论】:

+1 是,并且必须引用带有空格的参数(如 --dlib_config 的参数)。 我尝试了您的解决方案。它以某种方式混淆了编译器。我已经在上面发布了新消息。【参考方案2】:

您只需将程序文件放在双引号中,其余命令不需要任何引号。

C:\"Program Files"\IAR Systems\Embedded Workbench 7.0\430\bin\icc430.exe F:\CP00 .....

【讨论】:

不好的做法。 Embedded Workbench 7.0 中的空格是怎么回事? @dheerajS 我试过了 遗憾的是,当我尝试在 npm 的 package.json 中为脚本创建命令时,这是唯一对我有用的东西 双引号完整路径对我不起作用。我正在使用 MSSQL 执行命令,EXEC xp_cmdshell 'C:\"Program Files"\7-Zip\7z.exe a "C:.....【参考方案3】:

这似乎不时发生在对命令行非常敏感的程序中,但一种选择是只使用 DOS 路径而不是 Windows 路径。这意味着C:\Program Files\ 将解析为C:\PROGRA~1\,并且通常会避免任何间距问题。

要获取短路径,您可以创建一个快速批处理文件来回显短路径:

@ECHO OFF
echo %~s1

然后调用如下:

C:\>shortPath.bat "C:\Program Files"
C:\PROGRA~1

【讨论】:

我尝试将我的 PATH 变量设置为使用 %ProgramFiles(x86)% 没有运气,因为我猜它仍然解决了带有空格的路径 - 但您的解决方案有效,最终使用“PROGRA~2”,谢谢这么多 @joshcomley,是的,对于Program Files(x86),请参阅confluence.atlassian.com/doc/…:Progra~1 = 'Program Files'Progra~2 = 'Program Files(x86)'【参考方案4】:

尝试将 cd 放在文件路径之前

示例:

C:\Users\user>cd C:\Program Files\MongoDB\Server\4.4\bin

【讨论】:

【参考方案5】:

如果目录中有空格,请在其周围加上引号。这包括 您正在调用的程序,而不仅仅是参数

"C:\Program Files\IAR Systems\Embedded Workbench 7.0\430\bin\icc430.exe"

另外 - "$workspaceFolder"(项目的目录)中的空格可能会混淆编译器!

至少我的抛出了各种错误(就像上面那样,但我已经修复了编译器路径),我终于注意到它在 PC 1 上编译(目录 没有 空格)并且不会编译 PC 2 (目录 带有 个空格)。

实际上不知道在哪里加上引号 ("") 才能使这项工作发挥作用,因为 $workspaceFolder$fileDirname 是 VSC 中的 predefined variable 引用...

【讨论】:

如果您有新问题,请点击 按钮提出问题。如果有助于提供上下文,请包含指向此问题的链接。 - From Review【参考方案6】:

我在使用 R 脚本的 Windows 命令行 Rscript.exe 时遇到了类似的问题,它对路径中的空格非常敏感。解决方案是使用 windows subst 命令创建二进制文件夹的虚拟路径。

以下失败:"C:\Program Files\R\R-3.4.0\bin\Rscript.exe"

以下操作成功:

subst Z: "C:\Program Files\R\R-3.4.0"
Z:\bin\Rscript.exe

上述解决方案不起作用的原因显然与 Rscript.exe 可执行文件自己的工作目录(其中有一个空格)的内部路径解析有关,而不是与 windows 命令行混淆空间。因此使用~" 在命令行解决问题是没有实际意义的。必须在缺少空格的路径中调用可执行文件。

【讨论】:

【参考方案7】:

大多数时候,问题在于您在 .m2 存储库中存在的 settings.xml 中为“java home”和“javac”标签提到的路径,而问题不在于您的路径变量或 Java_Home多变的。 如果您检查并更正相同的内容,您应该能够成功执行您的命令。 - 贾辛德

【讨论】:

【参考方案8】:

只需转到文件夹路径并在其上键入 cmd。然后按 ENTER enter image description here

【讨论】:

【参考方案9】:

我相信詹姆斯·亨特的回答会解决问题。

@user3731784:在您的新消息中,编译器似乎因为“C:\Program Files\IAR systems\Embedded Workbench 7.0\430\lib\dlib\d1430fn.h”参数而感到困惑。你为什么在其他编译器开关的中间给出这个头文件? 请更正此问题并重试。 此外,最好在所有编译器切换之后而不是在开头给出源文件名。

【讨论】:

该命令已从原始 IDE 中提取。必须使用其中的所有开关。不能忽视任何事情。唯一的问题是 -O 开关,因为它后面没有空格。休息工作【参考方案10】:

转到“开始”并搜索 cmd。右键单击它,属性然后将Target 路径设置在引号中。这对我来说很好。

【讨论】:

以上是关于提示reg不是批处理命令怎么办的主要内容,如果未能解决你的问题,请参考以下文章

win7里边使用telnet命令为啥提示telnet不是内部或外部命令,也不是可运行的程序或批处理文件?怎么解决

ipconfig提示未知命令解决

imp命令不知道为啥不能用了,提示'imp'不是内部或外部命令,也不是可运行的程序或批处理文件。

不是内部命令或外部命令,也不是可运行的程序。请问大家是怎么回事啊?

不是内部或外部命令,也不是可运行的程序 是怎么回事

Java环境变量设置成功后运行cmd时提示错误 不是内部或外部命令,也不是可运行的程序或批处理文件