为什么在 Windows 11 上这种情况下会出现“文件名、目录名或卷标语法不正确。”?

为什么在 Windows 11 上这种情况下会出现“文件名、目录名或卷标语法不正确。”?

在 Windows 11 上,我尝试在.bat文件中执行以下操作:

start "nginx" cmd.exe /U /K "C:\nginx\nginx.exe" -c "C:\Users\John Doe\Documents\PHP-dev\Nginx\nginx.conf" -p "C:\nginx"

这意味着:“打开一个具有窗口标题的 cmd.exe 实例nginx,使用指定的参数运行 nginx.exe,并保持窗口活动”。

然而,它却打开了一个Windows 终端The filename, directory name, or volume label syntax is incorrect.实例(包含 cmd.exe)顶部带有文本,然后立即退出命令。嗯?

如果我从已打开的 cmd.exe 或 Windows 终端手动运行“实际命令”,则命令本身就会起作用(不会退出或显示任何错误或输出):

"C:\nginx\nginx.exe" -c "C:\Users\John Doe\Documents\PHP-dev\Nginx\nginx.conf" -p "C:\nginx"

我在 Windows 10 上使用相同的命令没有出现此问题(并且目录结构相同),因此显然,它与命令本身的任何内容都无关。

如果我这样做:

start "nginx" "C:\nginx\nginx.exe" -c "C:\Users\John Doe\Documents\PHP-dev\Nginx\nginx.conf" -p "C:\nginx"

...然后它确实运行了(没有错误),它在 Windows 终端实例中而不是 cmd.exe 中执行此操作,这破坏了我想要的任务栏分组!

cmd.exe /U /K由于(或cmd.exe /U /C)部分“使”命令无效,它可能在做什么?

我只希望它作为一个正确的 cmd.exe 打开(不包装在 Windows 终端中),就像我所有其他以相同方式和由相同文件启动的实例一样.bat,并且不显示任何奇怪的错误。

相关内容