как запустить 2 командные строки в экземпляре sames консольной программы в Vb6?

#command-line #vb6 #uci

Вопрос:

Мне нужно запустить 2 командные строки в chess engine, используя протокол UCI.

1 — позиция fen «r1k4r/p2nb1p1/2b4p/1p1n1p2/2PP4/3Q1NB1/1P3PPP/R5K1 b»

2 — перейти на глубину 10

В первой строке задается позиция FEN в двигателе (stockfish). Вторая команда запускает двигатель, чтобы проанализировать положение, а затем выдает мне вывод.

В vb6 мой код такой:

 With CreateObject("WScript.Shell")

    .Run "cmd /c start /b E:UCI-Vb6stockfish_9_x64.exe position fen "r1k4r/p2nb1p1/2b4p/1p1n1p2/2PP4/3Q1NB1/1P3PPP/R5K1 b" > E:UCI-Vb6out.txt", 1, True

End With
 

и работает отлично, но если я попытаюсь отправить вторую команду, она вернется для повторного запуска двигателя без «воспоминаний» о позиции, которую я установил раньше.

Я также пытаюсь вложить две команды с параметром»amp;», но с тем же результатом, а также пытаюсь использовать «cmd /k», но снова безуспешно.

Комментарии:

1. chess.stackexchange.com/questions/11163/piping-stockfish-input Похоже на это, однако, простая передача команд, похоже, работает… Я получаю «bestmove d5b4» внутри result.out с помощью двух команд в текстовом файле start /b stockfish_13_win_x64.exe < cmds.txt > result.out . Он не захватывает все выходные данные, но у него есть результат.

2. Хорошо, он работает с командами в cmds.txt … но думает только 2 мс ..независимо от того, какую глубину или время движения я написал… даже с разрывом строки «n » в конце