Как запустить cmd?


(Александр Беликов) #1

Всем привет! Начинаю осваивать Sikuli, и столкнулся с такой проблемой. Не могу запустить командную строку в Windows.

    App app = new App("c:\\Windows\\System32\\cmd.exe");
    app.open();

Тест проходит, но командная строка не запускается. В диспетчере задач процесс cmd.exe висит. Как еще можно запустить командную строку?
Спасибо!


(Дмитрий Жарий) #2

А что конкретно вы хотите сделать с командной строкой после ее запуска?


(Александр Беликов) #3

накатить дамп базы и запустить приложение


(Igor) #4

Так запускайте сразу команды для дампа базы и запуска приложения. cmd-то тут не особо нужен.


(Александр Беликов) #5

не очень себе это представляю если честно, каким макаром я буду по веткам прыгать и fetch’ить Что, никому в голову не приходило запускать cmd с помощью sikuli? Ну ни чего себе:-)) Notepad, paint запускаются, cmd ни в какую


(Михайло Єдемський) #6

К сожалению, не знаю как в сикули это делается, но в шарпе чтоб выполнить запрос в коммандной строке - её нужно запустить с параметрами (где parameter - это ваш комманд лайн, например ping 127.0.0.1)

    Process сmdWrapper = new Process();
    ProcessStartInfo startinfo = new ProcessStartInfo();
    startinfo.FileName = "cmd.exe";
    startinfo.Arguments = "/C " + parameter;
    ...
    Process.Start(startinfo);

Или запустить как вы делаете, но перехватывать stdIn, stdOut и stdErr


(rpwheeler) #7

Один из скриптов, требующих cmd-команд я гонял с помощью утилиты Console2 (http://sourceforge.net/projects/console/) , запуская оную, емнип, чисто визуально, через значок из QuickLaunch.

Попробуйте утилиту, вдруг вам подойдет (случалось иметь дело с отдельными cmd-программами, которые по каким-то причинам в Console2 не работали, хотя в системном все было нормально).


(Александр Беликов) #8

Спасибо!


(Paul Manuilenko) #9

Добрый день!
Использую java и Sikulix.
А у меня команда app.open(); вызывает ошибку.

Код:

    package mcopackage;
    import org.sikuli.script.App;
    import org.sikuli.script.Screen;
    import org.testng.annotations.BeforeSuite;
    import org.testng.annotations.Test;
    import java.io.File;
    import java.io.IOException;
    
    public class test {
        @Test(enabled = true)
        public static void main() throws IOException {
            App app = new App("c:\\Windows\\System32\\cmd.exe");
            app.open();
        }
    }

Ошибка:

[error] ResourceLoaderBasic: loadLib: Fatal Error 110: loading: WinUtil.dll
[error] ResourceLoaderBasic: loadLib: Since native library was found, it might be a problem with needed dependent libraries
D:\Instal\auto\Sikuli\libs\WinUtil.dll: Can't find dependent libraries
[error] ResourceLoaderBasic: loadLib: Check, wether a valid Sikuli libs folder is in system path at runtime!
[error] Terminating SikuliX after a fatal error(110)! Sorry, but it makes no sense to continue!
If you do not have any idea about the error cause or solution, run again
with a Debug level of 3. You might paste the output to the Q&A board.

(Ilya Zharskiy) #10

либо ConEmu - это альтернатива Console2/cmd/PowerShell


(Sergey Korol) #11

Ошибка в подключении необходимых библиотек. Проверьте их наличие / корректно ли была произведена установка Sikuli.