使用带空格的文件夹名称时执行 BAT 命令(Server 2019)

使用带空格的文件夹名称时执行 BAT 命令(Server 2019)

见鬼,我有一个 bat 脚本,它试图运行 3 个不同的程序,但其中一个无法正常工作。下面是当前脚本,其中前 2 个项目正常运行,但最后一个项目却无法正常运行。我确信这是因为文件夹名称中有空格,但我尝试了所有添加额外引号来弥补空格的组合,但都没有奏效。要么程序根本无法运行,要么当它运行时,Windows 会在详细信息中添加一个额外的空格,因此它实际上无法正常工作。

当前脚本文本:(通过 Windows 任务计划程序运行)

P:

CD \PPART
START "" P:\ppart\Connect.exe "P:\ppart\Interface\Medisoft\Rcv\DemSch\DemSch_Rcv.ini"
START "" P:\ppart\Connect.exe "P:\ppart\Interface\Medisoft\Snd\BillCode\BillCode_Snd.ini"
START "" "P:\ppart\Interface\Connect\Tribal Diagnostic\Connect.exe" "P:\ppart\Interface\Connect\Tribal Diagnostic\Rcv\Lab\Lab_Rcv.ini""
END

这是在任务管理器中运行的:请注意,突出显示的行是我想要运行的(当我手动运行桌面快捷方式来执行程序时,这有效。)但下面的行是从批处理命令运行的,Windows 在程序和参数之间添加了一个额外的空格。

在此处输入图片描述

我尝试通过批处理命令自动执行此操作,但如果有更简单的方法,只需运行打开应用程序的快捷方式,那也行得通。任何帮助都非常感谢。

答案1

@echo off 

cd /d p:\ppart

start "" Connect.exe .\Interface\Medisoft\Rcv\DemSch\DemSch_Rcv.ini
start "" Connect.exe .\Interface\Medisoft\Snd\BillCode\BillCode_Snd.ini
start "" .\Interface\Connect\"Tribal Diagnostic\Connect.exe" .\Interface\Connect\"Tribal Diagnostic"\Rcv\Lab\Lab_Rcv.ini

:: Try replace ::
P:
CD \PPART

:: per ::
cd /d P:\PART

在必要时使用当前或相对路径调用可执行文件,并在参数中使用它,至于引号,在必要时使用。

相关内容