使用 .bat 文件用 NotePad++ 打开多个 .bat 文件

Open multiple .bat files with NotePad++ using a .bat file

目前我使用如下的 .bat 文件在不同位置打开多个 .yml 文件:

START "C:\Program Files\Notepad++\notepad++.exe" "D:\Location 1\settings.yml"
START "C:\Program Files\Notepad++\notepad++.exe" "D:\Location 2\settings.yml"
START "C:\Program Files\Notepad++\notepad++.exe" "D:\Location 3\settings.yml"
START "C:\Program Files\Notepad++\notepad++.exe" "D:\Location 4\settings.yml"

这适用于 .txt、.yml、.json、文件等。 但是,如果我尝试使用相同的过程打开 .bat 文件,则会失败。

示例:

START "C:\Program Files\Notepad++\notepad++.exe" "D:\Location 1\start1.bat"
START "C:\Program Files\Notepad++\notepad++.exe" "D:\Location 2\start2.bat"
START "C:\Program Files\Notepad++\notepad++.exe" "D:\Location 3\start3.bat"
START "C:\Program Files\Notepad++\notepad++.exe" "D:\Location 4\start4.bat"

我的目标是在notepad++中打开这些.bat文件进行编辑。 相反,windows 实际上试图在记事本++之外打开 start*.bat 文件本身

您的示例语法不正确。

请打开命令提示符 window,键入 start /?,然后按 ENTER 键查看其使用信息。

START ["title"] [command/program] [parameters]

您的工作语法只能靠运气,因为它看到 "C:\Program Files\Notepad++\notepad++.exe" 作为标题,然后使用其默认程序打开已注册的文件类型 .yml。幸运的是,这些文件的默认程序是 Notepad++,这是它按预期工作的唯一原因。

您应该使用的语法是:

@Start "" "%ProgramFiles%\Notepad++\notepad++.exe" "D:\Location 1\settings.yml"
@Start "" "%ProgramFiles%\Notepad++\notepad++.exe" "D:\Location 2\settings.yml"
@Start "" "%ProgramFiles%\Notepad++\notepad++.exe" "D:\Location 3\settings.yml"
@Start "" "%ProgramFiles%\Notepad++\notepad++.exe" "D:\Location 4\settings.yml"

…和

@Start "" "%ProgramFiles%\Notepad++\notepad++.exe" "D:\Location 1\start1.bat"
@Start "" "%ProgramFiles%\Notepad++\notepad++.exe" "D:\Location 2\start2.bat"
@Start "" "%ProgramFiles%\Notepad++\notepad++.exe" "D:\Location 3\start3.bat"
@Start "" "%ProgramFiles%\Notepad++\notepad++.exe" "D:\Location 4\start4.bat"

第一组(空)double-quotes 是 window 标题,(标题不需要为空),并且是必需的,因为开始命令处理第一个 double-quoted 参数作为标题。