Я надеюсь, что этот вопрос подходит для этого форума.

У меня есть отдельное приложение - файл .exe который называется ratingsCalculator.exe . Когда я открываю его вручную, он сначала просит ввести имя файла CSV-файла в той же папке, что и приложение. Затем запрашивается значение (альфа), а затем второе значение (бета), которое необходимо ввести вручную. После ввода бета-значения мне выдается сообщение о том, что выходной файл создан.

Этот снимок экрана является примером для файла, который я назвал tennis.csv где я установил альфа на .3 и бета на .1:

То, что я хочу сделать, это иметь много CSV-файлов с разными именами файлов в папке. Я хочу запустить все это приложение с одинаковыми значениями альфа и бета. Однако я не хочу делать это вручную, поскольку для 1000 CSV-файлов это займет слишком много времени.

Используя Windows 7, я попробовал это в командной строке после изменения каталога на местоположение приложения и файлов:

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

К сожалению, я получаю сообщение об ошибке:

"FIND: Parameter format not correct"

ясно, что мне не удается правильно добавить параметры, и мне интересно, как это сделать.

1 ответ1

2

Имеется простое приложение на C++, которое генерирует 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;
}

Затем вы можете создать VBS-файл в том же месте, что и вышеприведенный exe-файл, который выглядит следующим образом:

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

По сути, он отправляет ключи в приложение. Вы можете настроить режимы ожидания и значения в цикле, но это может предложить одно решение.

Ссылки:https://ss64.com/vb/run.html

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