如何使用geany在批处理脚本中同时打开多个文件?

时间:2019-06-26 07:14:38

标签: batch-file geany

当我尝试使用批处理脚本在geany中打开多个文件时,我遇到了一个奇怪的问题。

该脚本很简单,可以放在我给他的列表中的文件夹中,并且在每个文件夹中,它都会用geany打开Makefile。那行得通;但是,它将首先打开第一个Makefile,然后等待直到我关闭窗口以打开第二个Makefile,依此类推。 它将在另一个选项卡中打开下一个Makefile,所以最后我仍然打开了我所有的makefile,但是我需要关闭每个makefile之间的窗口,而且我有很多打开的地方(这就是为什么我制作了脚本-_- )

有人知道如何纠正这种奇怪的行为吗?

我在Linux上使用geany制作了它:效果很好。 我是在Windows中使用记事本制作的:效果很好。 但是,带有geany的Windows无法正常工作。

我也尝试过使用命令start,但是它将询问我要打开哪个文件,然后什么也不做。

这是我的脚本,简化了:

rem set prog="C:\Program Files\Notepad++\notepad++.exe 
set prog="C:\Program Files\Geany\bin\geany.exe
set FOLDERLIST="Some Folders Names Separate ByASpace"

for /d %%C in (%FOLDERLIST%) do (
    cd %%~C 
    %prog% Makefile
    cd ..
)

所以我希望它一次打开所有文件,而不必关闭每个文件之间的窗口。如您所见,我有一条rem线,其中记事本为prog,并且这一行按预期工作; geany不是。但是再次,我是用geany在Linux中制作的,它确实可以一次打开所有文件。

1 个答案:

答案 0 :(得分:-1)

我在此问题内找到了一个有效的答案:SuperUser: Execute command line in background

因此,我发现,当geany打开并启动我的批处理脚本时,它可以完美运行。然后,我尝试在打开所有文件之前在批处理脚本中打开geany,但是它不起作用。然后,在一些建议下,我试图像恶魔般打开它。这就是先前引用的答案的帮助方式。

结果是:

rem set prog="C:\Program Files\Notepad++\notepad++.exe 
set prog="C:\Program Files\Geany\bin\geany.exe
set FOLDERLIST="Some Folders Names Separate ByASpace"

for /d %%C in (%FOLDERLIST%) do (
    cd %%~C 
    start "" %prog% Makefile
    cd ..
)

似乎start ""在后​​台启动文件,因此让脚本继续运行并打开其他文件。

PS:请注意,没有start /B的{​​{1}}(也作为答案提供)对我不起作用,因为它询问我要打开哪个文件。