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

Mul*_*gan 4 windows batch-file cmd.exe

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

@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"
Run Code Online (Sandbox Code Playgroud)

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

TOO*_*GAM 17

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

  1. 创建一个标题为的窗口:
    C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC
    
    Run Code Online (Sandbox Code Playgroud)
  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"
Run Code Online (Sandbox Code Playgroud)

  • “有一种特殊的方式来处理带引号的第一个参数”。那是……邪恶。 (14认同)

归档时间:

查看次数:

754 次

最近记录:

4 年,3 月 前