【问题标题】:START where both path and filename have spaces [duplicate]START 路径和文件名都有空格[重复]
【发布时间】:2020-08-25 13:05:34
【问题描述】:
START /high /d "./files" "Program Name.exe"  

这不起作用,如果“程序名称”不在引号中,它会起作用,但在这种情况下,我无法控制文件名和批处理文件的执行位置。我将如何使用 Batch 解决这个问题?

【问题讨论】:

  • 这是因为start 命令将第一个引用的参数视为控制台标题,前提是引用的参数不属于任何命令行开关。您可以提供一个虚拟标题(或空标题)以不干扰引用的可执行文件名称:START "title" /high /d "./files" "Program Name.exe"
  • 这行得通,谢谢! :)

标签: batch-file


【解决方案1】:

虽然start /?的帮助文本中没有明确说明:

START ["title"] [/D path] ...

第一个引用的选项被视为窗口的标题。在您的情况下,这是(假定的)可执行文件名称。

你可以看到,如果你创建一个x y.cmd文件只包含命令@dir,那么运行:

start /d "\program files" "\path\to\x y.cmd"

上面的目录\path\to 是您创建它的目录,因为当您尝试运行它时,您实际上会在program files 目录中。

您将看到不是目录列表(因为脚本没有运行),而是一个新的cmd 窗口标题 \path\to\x y.cmd

如果您改为使用:

start "xyzzy" /d "\program files" "\path\to\x y.cmd"

您会发现它确实运行脚本,在标题为xyzzy 的窗口中为您提供了一个目录。

换句话说,如果你想引用你的程序名称,你应该提供一个实际的标题,这样就不会混淆。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多