Executa automaticamente o aplicativo várias vezes com arquivos da mesma pasta

0

Espero que esta pergunta seja apropriada para este fórum.

Eu tenho um aplicativo independente - um arquivo .exe chamado ratingsCalculator.exe . Quando abro manualmente, primeiro me pede para digitar o nome do arquivo de um arquivo csv na mesma pasta que o aplicativo. Em seguida, ele solicita um valor (alfa) e, em seguida, um segundo valor (beta) - que deve ser inserido manualmente. Depois de inserir o valor beta, é exibida a mensagem de que um arquivo de saída foi criado.

Esta captura de tela é um exemplo de um arquivo que chamei de tennis.csv , em que eu defino o alfa para .3 e o beta para .1:

Oqueeuquerofazerétermuitosarquivoscsvcomnomesdearquivosdiferentesnapasta.Euquerocorrertodoesteaplicativocomomesmovaloralfaebeta.Noentanto,eunãoquerofazerissomanualmentecomopara1000arquivosCSVdemorariamuitotempo.

UsandooWindows7,tenteifazerissonalinhadecomandodepoisdealterarodiretórioparaolocaldoaplicativoedosarquivos:

find-name"*.csv" -exec ratingCalculator {} \

Infelizmente, a mensagem de erro que recebo é:

"FIND: Parameter format not correct"

Então, claramente, não estou conseguindo adicionar os parâmetros corretamente e é isso que eu estou querendo saber como fazer.

    
por jalapic 07.03.2017 / 20:43

1 resposta

2

Dado um simples aplicativo C ++ que gera o InputTester.exe:

#include <iostream>
void main() {
    int a,b,c;
    std::cout << "Number 1: ";
    std::cin >> a;
    std::cout << "Number 2: ";
    std::cin >> b;
    std::cout << "Number 3: ";
    std::cin >> c;
}

Em seguida, você pode criar um arquivo VBS no mesmo local que o exe acima, que se parece com isso:

dim objShell : set objShell = wscript.CreateObject("wscript.shell")
for i = 1 to 10
    objShell.Run "InputTester.exe", 9
    wscript.Sleep 500 
    objShell.SendKeys 1
    objShell.SendKeys "{ENTER}"
    wscript.Sleep 500
    objShell.SendKeys 2
    objShell.SendKeys "{ENTER}"
    wscript.Sleep 500
    objShell.SendKeys i & ".csv"
    wscript.Sleep 500
    objShell.SendKeys "{ENTER}"
next

Essencialmente, envia chaves para o aplicativo. Você pode ajustar os períodos de suspensão e valores fornecidos no loop, mas isso pode oferecer uma solução.

Referências: link

    
por 07.03.2017 / 22:02