So, as I got an idea what was wrong thanks to @Mofi, here are the workaround ways to solve the problem I tried.
-- The cause:
The cause of this problem is the "someprogram.cmd --option whatever" lines on the batch file. On the other cmd program file, there should be some "title" lines that overrides the previously defined title line.
-- The solve
While I'm noob to cmd script and feel frustrating about this title behavior(the title can be easily overridden and apparently it's kind of a customary coding - like this case nodejs - ), actually there's no way around but need to take some extra efforts to this issue, here are the workaround ways
- modify the child cmd program file(in this case node.js generated file) manually
In this case, the node.js cmd program inside was like this below, and this specific line defines the "title" and causing override it so modify the line.
(default)
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\node_modules\node-cron-cli\croncli" %*
(to e.g.)
endLocal & goto #_undefined_# 2>NUL || title croncli.cmd & "%_prog%" "%dp0%\node_modules\node-cron-cli\croncli" %*
- override the title within the last-child program
From the premise where the title will be the last-defined one whenever, the most effective way should be defining "title" on the very last of programs, namely, the main node.js program (in this case).
This will define Windows cmd title from node.js. This is untested myself yet, but should work.
if (process.platform == 'win32') {
process.title = title;
} else {
process.stdout.write('\x1b]2;' + title + '\x1b\x5c');
}