Windows命令行:无法运行变量作为其路径一部分的命令
我觉得我错过了一些明显的东西,但我就是看不到。我打开了一个Windows命令行:无法运行变量作为其路径一部分的命令,windows,batch-file,windows-10,environment-variables,Windows,Batch File,Windows 10,Environment Variables,我觉得我错过了一些明显的东西,但我就是看不到。我打开了一个cmd窗口,下面是我运行的内容: set QTDIR32=C:\Qt\5.10.1\msvc2015 %QTDIR32%\bin\qmake.exe -v C:\Qt\5.10.1\msvc2015\bin\qmake.exe是可执行工具的有效路径。 预期:工具的输出。 观察到: “C:\Qt\5.10.1\msvc2015”未被识别为内部或外部 命令、可操作程序或批处理文件 在命令的不同部分尝试了不同的引号组合;已尝试启动%QTDIR
cmd
窗口,下面是我运行的内容:
set QTDIR32=C:\Qt\5.10.1\msvc2015
%QTDIR32%\bin\qmake.exe -v
C:\Qt\5.10.1\msvc2015\bin\qmake.exe
是可执行工具的有效路径。预期:工具的输出。
观察到: “C:\Qt\5.10.1\msvc2015”未被识别为内部或外部 命令、可操作程序或批处理文件 在命令的不同部分尝试了不同的引号组合;已尝试
启动%QTDIR32%\bin\qmake.exe-v
-它将在资源管理器中打开“C:\Qt\5.10.1\msvc2015”文件夹
echo%QTDIR32%
打印预期输出
我遗漏了什么?始终在路径上使用双引号
set "QTDIR32=C:\Qt\5.10.1\msvc2015"
"%QTDIR32%\bin\qmake.exe" -v
双引号的原因并不总是因为路径之间的空格,而是消除了实际批处理中不需要的空格。双引号总是一个好主意。要不要解释一下反对票的原因?@Mofi:很公平,但正如我在问题中所说的,它从来不是批处理文件。我打开了
cmd.exe
,手工输入了这些命令。然后抄下来贴在这里。这里不需要这样做,因为路径没有空格,而且根据设置set
命令也不需要这样做。让我试试你的建议。这样做了,谢谢(引用调用set
)。当我调用set
时,我开始认为我的路径尽头有一个游离的空间。是的,因此引用:)我现在看到了你的智慧:)