2

program.exe file1 file2 ... file10000 не будет работать.

У Windows есть странное ограничение длины параметров командной строки. Это что-то между 32683 и 32853 символами. Есть ли другой способ передачи параметров?

2 ответа2

1

Наиболее практичным решением является заставить вашего поставщика исправить программу.

В противном случае можно (хотя и не просто) перехватить функцию GetCommandLine, чтобы она возвращала строку произвольной длины, хотя это может привести к аварийному завершению программы в зависимости от того, как она обрабатывает командную строку.

0

Q: "Есть ли другой способ передачи параметров"

A: Да, передайте один файл конфигурации. Пусть ваша программа прочитает конфигурационный файл, чтобы получить все параметры.

Например:

========= Start of "C:\MyConfigFile.txt" =========
    file1
    file2
    ...
    file10000
=================== End of File ==================

Ваша команда:

program.exe "C:\MyConfigFile.txt"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .