none
не могу сделать каталог в котором лежит скрипт с файлами текущим при запуске из exe файла. RRS feed

  • Вопрос

  • Написана коротенькая программка с окном с несколькими кнопками.

    При нажатии на каждую из этих кнопок запускается исполняемый файл той или иной программы. Одна из кнопок запускает файл со скриптом типа js, при этом сам файл запускается, но не видит своей рабочей папки в которой лежат другие файлы, информацию с которых он должен считать. Аналогичная проблема возникает и при запуске скрипта из командной строки с другим рабочим каталогом, т.е. не в том где лежит скрипт с файлами. Но в командной строке эта проблема решается просто: через команду cd c:\путь к раб.каталогу, а в среде программирования Microsoft Visual Studio Tools for Applications 2.0 я не знаю как решить эту проблему, т.е. сделать каталог в котором лежит скрипт с файлами текущим. Сам файл запускается в Microsoft Visual Studio Tools for Applications 2.0 следующей командой

    Process.Start("C:\\Experiment\\exchange.js");

    а вот как прописать рабочий каталог для встроенных в скрипт команд не знаю. Знаю одно, что есть уже рабочий exeшник, с устаревшими путями, который запускает файл exchange.js стартуя из любого каталога и скрипт прекрасно отрабатывает.

    Прошу помочь.

    20 июля 2017 г. 15:58

Ответы

  • вместо  строки

    Process.Start("C:\\Experiment\\exchange.js");

    надо написать:

                new Process()
                {
                    StartInfo =
                    {
                        WorkingDirectory = "C:\\Experiment",
                        FileName = "C:\\Experiment\\exchange.js"
                    }
                }.Start();

    • Помечено в качестве ответа VA2017 21 июля 2017 г. 12:33
    21 июля 2017 г. 12:32