如何在批处理文件中使用带空格的路径?

如何在批处理文件中使用带空格的路径?

我有一个简单的 Win 10 批处理脚本,可以在系统启动时打开资源管理器中的一堆文件夹,但是最后一个命令的路径包含空格,因此存在问题,因为它没有按预期打开一个新的资源管理器窗口,而是打开一个 CMD 窗口,并以系统命令作为路径:

@ECHO OFF
start C:\Users\Darek\Fallout2
start C:\Users\Darek\Fallout2\data\scripts
start C:\Users\Darek\Pobrane_2
start "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC"

我该如何编写最后一个命令才能使其正常工作?

答案1

问题在于,该start命令(内置于 CMD)有一种特殊的方式来处理带引号的第一个参数,即为创建的窗口指定一个可选标题;如果没有第一组引号(如下面的解决方案),该start命令将按如下方式解释问题中显示的命令:

  1. 创建一个窗口,标题为:
    C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC
    
  2. 没有提供关于该窗口中实际启动什么的信息

解决方案是运行:

start "" "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC"

:: # Or more elaborately:
start "Optional Window Title" "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC"

答案2

您可以explorer.exe从路径开始;它将打开一个新窗口显示指定的路径。如果给出的路径不存在,则资源管理器将默认显示用户的My Documents文件夹

相关内容