Windows 找不到 C:\Program...?

Tra*_*ter 2 batch-file windows-10

我正在尝试编写一个批处理文件以在隐身模式下打开 gmail,并在电脑启动时自动输入我的凭据。基于这篇文章,我有以下几点:

@echo off
cls
start %ProgramFiles(x86)%\Google\Chrome\Application\Chrome.exe --incognito "https://accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=https://mail.google.com/mail/&ss=1&scc=1&ltmpl=default&ltmplcache=2&emr=1&osid=1#identifier"
exit
Run Code Online (Sandbox Code Playgroud)

但是,当我双击该.bat文件时,会出现一个 cmd 窗口,前面有一个错误窗口,上面写着:

Windows 找不到“C:\Program”。确保您输入正确,然后重试。

我认为 cmd 正在评估%ProgramFiles(x86)%而不用引号或其他东西。我是编写 bat 文件的新手,所以我不知道如何解决这个问题。

这是关于我的系统的一些细节:

Windows 10 Pro 
V. 1607 
OS Build 14393.479
64-bit
Surface Book
Run Code Online (Sandbox Code Playgroud)

Lot*_*ngs 5

即使您使用的是环境变量

%ProgramFiles(x86)%
Run Code Online (Sandbox Code Playgroud)

通常扩展到

C:\Program Files (x86)
Run Code Online (Sandbox Code Playgroud)

包含空格的路径必须用引号括起来

其次是 Start 使用 Quotes 中的第一个参数作为标题。看Help Start

此更改后的批处理按预期工作:

@echo off
cls
start "" "%ProgramFiles(x86)%\Google\Chrome\Application\Chrome.exe" --incognito "https://accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=https://mail.google.com/mail/&ss=1&scc=1&ltmpl=default&ltmplcache=2&emr=1&osid=1#identifier"
exit
Run Code Online (Sandbox Code Playgroud)