The command line is too long - Why the limitation?

Why the limitation? Any other way? Is this CMD limitation or mkvmerge?

mkvmerge -o “…/Frames-600s.new.mkv” “…/Frames-600s.mkv” --language 0:zh --track-name “0:Chinese (Cantonese)” “E:\video\test\track_10_zh_Chinese (Cantonese).sup” --language 0:zh --track-name “0:Chinese (Mandarin Traditional)” “E:\video\test\track_11_zh_Chinese (Mandarin Traditional).sup” --language 0:hr --track-name “0:Croatian” “E:\video\test\track_12_hr_Croatian.sup” --language 0:cs --track-name “0:Czech” “E:\video\test\track_13_cs_Czech.sup” --language 0:da --track-name “0:Danish” “E:\video\test\track_14_da_Danish.sup” --language 0:nl --track-name “0:Dutch” “E:\video\test\track_15_nl_Dutch.sup” --language 0:et --track-name “0:Estonian” “E:\video\test\track_16_et_Estonian.sup” --language 0:fi --track-name “0:Finnish” “E:\video\test\track_17_fi_Finnish.sup” --language 0:fr --track-name “0:French” “E:\video\test\track_18_fr_French.sup” --language 0:de --track-name “0:German” “E:\video\test\track_19_de_German.sup” --language 0:el --track-name “0:Greek” “E:\video\test\track_20_el_Greek.sup” --language 0:he --track-name “0:Hebrew” “E:\video\test\track_21_he_Hebrew.sup” --language 0:hu --track-name “0:Hungarian” “E:\video\test\track_22_hu_Hungarian.sup” --language 0:is --track-name “0:Icelandic” “E:\video\test\track_23_is_Icelandic.sup” --language 0:id --track-name “0:Indonesian” “E:\video\test\track_24_id_Indonesian.sup” --language 0:it --track-name “0:Italian” “E:\video\test\track_25_it_Italian.sup” --language 0:ja --track-name “0:Japanese” “E:\video\test\track_26_ja_Japanese.sup” --language 0:ko --track-name “0:Korean” “E:\video\test\track_27_ko_Korean.sup” --language 0:lv --track-name “0:Latvian” “E:\video\test\track_28_lv_Latvian.sup” --language 0:lt --track-name “0:Lithuanian” “E:\video\test\track_29_lt_Lithuanian.sup” --language 0:ms --track-name “0:Malay” “E:\video\test\track_30_ms_Malay.sup” --language 0:no --track-name “0:Norwegian” “E:\video\test\track_31_no_Norwegian.sup” --language 0:pl --track-name “0:Polish” “E:\video\test\track_32_pl_Polish.sup” --language 0:pt --track-name “0:Portuguese (Brazilian)” “E:\video\test\track_33_pt_Portuguese (Brazilian).sup” --language 0:pt --track-name “0:Portuguese (Iberian)” “E:\video\test\track_34_pt_Portuguese (Iberian).sup” --language 0:ro --track-name “0:Romanian” “E:\video\test\track_35_ro_Romanian.sup” --language 0:ru --track-name “0:Russian” “E:\video\test\track_36_ru_Russian.sup” --language 0:sr --track-name “0:Serbian” “E:\video\test\track_37_sr_Serbian.sup” --language 0:sk --track-name “0:Slovak” “E:\video\test\track_38_sk_Slovak.sup” --language 0:sl --track-name “0:Slovenian” “E:\video\test\track_39_sl_Slovenian.sup” --language 0:es --track-name “0:Spanish (Castilian)” “E:\video\test\track_40_es_Spanish (Castilian).sup” --language 0:es --track-name “0:Spanish (Latin American)” “E:\video\test\track_41_es_Spanish (Latin American).sup” --language 0:sv --track-name “0:Swedish” “E:\video\test\track_42_sv_Swedish.sup” --language 0:th --track-name “0:Thai” “E:\video\test\track_43_th_Thai.sup” --language 0:tr --track-name “0:Turkish” “E:\video\test\track_44_tr_Turkish.sup” --language 0:vi --track-name “0:Vietnamese” “E:\video\test\track_45_vi_Vietnamese.sup” --language 0:en --track-name “0:English (Commentary #1)” “E:\video\test\track_46_en_English (Commentary #1).sup” --language 0:nl --track-name “0:Dutch (Commentary #1)” “E:\video\test\track_47_nl_Dutch (Commentary #1).sup” --language 0:fi --track-name “0:Finnish (Commentary #1)” “E:\video\test\track_48_fi_Finnish (Commentary #1).sup” --language 0:fr --track-name “0:French (Commentary #1)” “E:\video\test\track_49_fr_French (Commentary #1).sup” --language 0:en --track-name “0:English (SDH)” “E:\video\test\track_4_en_English (SDH).sup” --language 0:de --track-name “0:German (Commentary #1)” “E:\video\test\track_50_de_German (Commentary #1).sup” --language 0:it --track-name “0:Italian (Commentary #1)” “E:\video\test\track_51_it_Italian (Commentary #1).sup” --language 0:ja --track-name “0:Japanese (Commentary #1)” “E:\video\test\track_52_ja_Japanese (Commentary #1).sup” --language 0:no --track-name “0:Norwegian (Commentary #1)” “E:\video\test\track_53_no_Norwegian (Commentary #1).sup” --language 0:ru --track-name “0:Russian (Commentary #1)” “E:\video\test\track_54_ru_Russian (Commentary #1).sup” --language 0:es --track-name “0:Spanish (Commentary #1)” “E:\video\test\track_55_es_Spanish (Commentary #1).sup” --language 0:sv --track-name “0:Swedish (Commentary #1)” “E:\video\test\track_56_sv_Swedish (Commentary #1).sup” --language 0:en --track-name “0:English (Commentary #2)” “E:\video\test\track_57_en_English (Commentary #2).sup” --language 0:nl --track-name “0:Dutch (Commentary #2)” “E:\video\test\track_58_nl_Dutch (Commentary #2).sup” --language 0:fi --track-name “0:Finnish (Commentary #2)” “E:\video\test\track_59_fi_Finnish (Commentary #2).sup” --language 0:en-GB --track-name “0:English” “E:\video\test\track_5_en-GB_English.srt” --language 0:fr --track-name “0:French (Commentary #2)” “E:\video\test\track_60_fr_French (Commentary #2).sup” --language 0:de --track-name “0:German (Commentary #2)” “E:\video\test\track_61_de_German (Commentary #2).sup” --language 0:it --track-name “0:Italian (Commentary #2)” “E:\video\test\track_62_it_Italian (Commentary #2).sup” --language 0:ja --track-name “0:Japanese (Commentary #2)” “E:\video\test\track_63_ja_Japanese (Commentary #2).sup” --language 0:no --track-name “0:Norwegian (Commentary #2)” “E:\video\test\track_64_no_Norwegian (Commentary #2).sup” --language 0:es --track-name “0:Spanish (Commentary #2)” “E:\video\test\track_65_es_Spanish (Commentary #2).sup” --language 0:sv --track-name “0:Swedish (Commentary #2)” “E:\video\test\track_66_sv_Swedish (Commentary #2).sup” --language 0:ar-AE --track-name “0:Arabic” “E:\video\test\track_67_ar-AE_Arabic.srt” --language 0:cs --track-name “0:Czech” “E:\video\test\track_68_cs_Czech.srt” --language 0:cs --track-name “0:Czech (SDH)” “E:\video\test\track_69_cs_Czech (SDH).srt” --language 0:en-GB --track-name “0:English (SDH)” “E:\video\test\track_6_en-GB_English (SDH).srt” --language 0:da-DK --track-name “0:Danish” “E:\video\test\track_70_da-DK_Danish.srt” --language 0:de-DE --track-name “0:German” “E:\video\test\track_71_de-DE_German.srt” --language 0:es-419 --track-name “0:Spanish” “E:\video\test\track_72_es-419_Spanish.srt” --language 0:es-ES --track-name “0:Spanish” “E:\video\test\track_73_es-ES_Spanish.srt” --language 0:fi-FI --track-name “0:Finnish” “E:\video\test\track_74_fi-FI_Finnish.srt” --language 0:fil-PH --track-name “0:Filipino” “E:\video\test\track_75_fil-PH_Filipino.srt” --language 0:fr-FR --track-name “0:French” “E:\video\test\track_76_fr-FR_French.srt” --language 0:hu-HU --track-name “0:Hungarian” “E:\video\test\track_77_hu-HU_Hungarian.srt” --language 0:hu-HU --track-name “0:Hungarian (SDH)” “E:\video\test\track_78_hu-HU_Hungarian (SDH).srt” --language 0:id-ID --track-name “0:Indonesian” “E:\video\test\track_79_id-ID_Indonesian.srt” --language 0:en-US --track-name “0:English” “E:\video\test\track_7_en-US_English.srt” --language 0:id-ID --track-name “0:Indonesian (SDH)” “E:\video\test\track_80_id-ID_Indonesian (SDH).srt” --language 0:is --track-name “0:Icelandic” “E:\video\test\track_81_is_Icelandic.srt” --language 0:it-IT --track-name “0:Italian” “E:\video\test\track_82_it-IT_Italian.srt” --language 0:ja-JP --track-name “0:Japanese” “E:\video\test\track_83_ja-JP_Japanese.srt” --language 0:ms --track-name “0:Malay (macrolanguage)” “E:\video\test\track_84_ms_Malay (macrolanguage).srt” --language 0:nl-NL --track-name “0:Dutch” “E:\video\test\track_85_nl-NL_Dutch.srt” --language 0:no-NO --track-name “0:Norwegian” “E:\video\test\track_86_no-NO_Norwegian.srt” --language 0:pl-PL --track-name “0:Polish” “E:\video\test\track_87_pl-PL_Polish.srt” --language 0:pt-BR --track-name “0:Portuguese” “E:\video\test\track_88_pt-BR_Portuguese.srt” --language 0:pt-PT --track-name “0:Portuguese” “E:\video\test\track_89_pt-PT_Portuguese.srt” --language 0:ar --track-name “0:Arabic” “E:\video\test\track_8_ar_Arabic.sup” --language 0:ro-RO --track-name “0:Romanian” “E:\video\test\track_90_ro-RO_Romanian.srt” --language 0:ro-RO --track-name “0:Romanian (SDH)” “E:\video\test\track_91_ro-RO_Romanian (SDH).srt” --language 0:sv-SE --track-name “0:Swedish” “E:\video\test\track_92_sv-SE_Swedish.srt” --language 0:th-TH --track-name “0:Thai” “E:\video\test\track_93_th-TH_Thai.srt” --language 0:tr-TR --track-name “0:Turkish” “E:\video\test\track_94_tr-TR_Turkish.srt” --language 0:vi --track-name “0:Vietnamese” “E:\video\test\track_95_vi_Vietnamese.srt” --language 0:zh-Hans --track-name “0:Simplified, Chinese” “E:\video\test\track_96_zh-Hans_Simplified, Chinese.srt” --language 0:zh-Hant --track-name “0:Traditional, Chinese” “E:\video\test\track_97_zh-Hant_Traditional, Chinese.srt” --language 0:bg --track-name “0:Bulgarian” “E:\video\test\track_9_bg_Bulgarian.sup”
The command line is too long.
The input line is too long.

mkvmerge has no limit on command line arguments, but the operating systems do. On Linux you can get it via getconf ARG_MAX, on Windows it’s 8191.

Use option files instead. That’s what they’re there for.

Ok I figured it out, thanks.
Now the problem is that it takes really long time to create the mkv file when you have large numbers of subtitles (I think .sup is the problem not .srt). The subtitles are about 2GB in total for all languages with commentary subtitles. I guess it’s due the compression the .sup right? But it seems it’s not doing it in parallel and it’s very slow on a very fast cpu and storage. Maybe because it’s single threaded.