Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 12.03.2010
Сообщений: 10

Подобие командной строки

23.12.2010, 14:35. Показов 1937. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем! Неоходимо написать подобие командной строки, саму командную строку показывать необизательно.

1 - й параметр(.exe) выбирается с помощью OpenFileDialog
2 - й параметр(.txt) тоже выбирается с помощью OpenFileDialog

при нажатии на кнопку, необходимо чтобы они выполнились как в Командной строке FAR .
(например CC5X.EXE STARTUP.TXT )
надо чтоб EXE - шник(1 - й параметр) в качестве параметра на выолнение выбрал нужнуй текстовый файл(2 - й параметр)

помогите plz!!!

Добавлено через 1 час 54 минуты
надо запустить exe-шник из C# + с параметром(txt)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.12.2010, 14:35
Ответы с готовыми решениями:

Подобие командной строки
Реализовать консольную программу на Java, которая бы представляла некую реализацию командной строки, то есть могла бы выполнять команды...

подобие командной строки на ассемблере и тини2313
Что есть: тини 2313 с uartом в качестве отладочно-настроечного порта. код на ассемблере в тини есть есть несколько переменных и функций....

Слияних 2 файлов в третий + строки + использование командной строки
Помогите с заданием пожалуйста. Задано 2 файла, строки в которых упорядочены по алфавиту. Написать программу, осуществляющую слияние этих...

9
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8728 / 3680 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
23.12.2010, 15:15
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
            using (OpenFileDialog ofd = new OpenFileDialog()) {
                string file = null, cmd = null;
 
                ofd.Filter = "Exe files|*.exe";
                if (ofd.ShowDialog() == DialogResult.OK)
                    file = ofd.FileName;
 
                ofd.Filter = "Txt files|*.txt";
                if (ofd.ShowDialog() == DialogResult.OK)
                    cmd = ofd.FileName;
 
                if (file != null)
                    Process.Start(file, cmd);
            }
1
0 / 0 / 0
Регистрация: 12.03.2010
Сообщений: 10
23.12.2010, 16:24  [ТС]
Прога работает! но не с моим exe-шнико (((((

в far если написать в командной строке(CC5X.EXE README.TXT ) то все работает , но в C# почемуто не хочет.

пишет OPTION ERROR: Duplicate filen ame or option error 'and'

вот код проги
C#
1
2
3
4
5
6
ProcessStartInfo startInfo = new ProcessStartInfo("D:\\CC5X.exe");
             startInfo.Arguments = "D:\\README.TXT";      
           
                Process.Start(startInfo);
                for (int i = 0; i < 1000000000000000; i++)// что увидеть ошибку
                {  }
при запуске в Far (CC5X.EXE README.TXT ) образуются 2 файла (если все работает)
а в C# ничего не происходит, по отдельности процессы запускаются.

вот сами файлы
Вложения
Тип файла: txt README.TXT (1.4 Кб, 13 просмотров)
Тип файла: rar CC5X.rar (173.1 Кб, 17 просмотров)
0
0 / 0 / 0
Регистрация: 12.03.2010
Сообщений: 10
23.12.2010, 16:27  [ТС]
Ехе - шник представляет их себя - компилятор C++
а параметр - прога на C++(.с) можно (.txt)
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8728 / 3680 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
23.12.2010, 16:43
Federer, всё работает. Просто файлы создаются там где находится exe твоей программы (не компилятор).

Если тебе надо рядом с компилятором, то перепиши пример так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
            using (OpenFileDialog ofd = new OpenFileDialog()) {
                string file = null, cmd = null;
 
                ofd.Filter = "Exe files|*.exe";
                if (ofd.ShowDialog() == DialogResult.OK)
                    file = ofd.FileName;
 
                ofd.Filter = "Txt files|*.txt";
                if (ofd.ShowDialog() == DialogResult.OK)
                    cmd = ofd.FileName;
 
                if (file != null) {
                    Process.Start(new ProcessStartInfo(file, cmd) {
                        WorkingDirectory = Path.GetDirectoryName(file)
                    });
                }
            }
0
0 / 0 / 0
Регистрация: 12.03.2010
Сообщений: 10
23.12.2010, 17:00  [ТС]
Переискал везде, и там и там нет ...
попробуйте запустить с файлами, которые я выложил.
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8728 / 3680 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
23.12.2010, 17:02
Federer, а я что по твоему сделал?

Измени код на этот и посмотри что выводится в log.txt (будет создан рядом с компилятором), возможна там будет написана причина твоей проблемы:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
            using (OpenFileDialog ofd = new OpenFileDialog()) {
                string file = null, cmd = null;
 
                ofd.Filter = "Exe files|*.exe";
                if (ofd.ShowDialog() == DialogResult.OK)
                    file = ofd.FileName;
 
                ofd.Filter = "Txt files|*.txt";
                if (ofd.ShowDialog() == DialogResult.OK)
                    cmd = ofd.FileName;
 
                if (file != null) {
                    Process proc = Process.Start(new ProcessStartInfo(file, cmd) {
                        UseShellExecute = false, RedirectStandardOutput = true,
                        WorkingDirectory = Path.GetDirectoryName(file)
                    });
 
                    File.WriteAllText(Path.Combine(Path.GetDirectoryName(file), "log.txt"),
                        proc.StandardOutput.ReadToEnd()
                        );
                }
            }
0
0 / 0 / 0
Регистрация: 12.03.2010
Сообщений: 10
23.12.2010, 17:17  [ТС]
там должны образоваться два файла с разрешениями (.occ) и (.нех)

я проверяю, у меня их нет (

вот прога
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
       private void button5_Click(object sender, EventArgs e)
        {
 
            using (OpenFileDialog ofd = new OpenFileDialog())
            {
                string file = null, cmd = null;
 
                ofd.Filter = "Exe files|*.exe";
                if (ofd.ShowDialog() == DialogResult.OK)
                    file = ofd.FileName;
 
                ofd.Filter = "Txt files|*.txt";
                if (ofd.ShowDialog() == DialogResult.OK)
                    cmd = ofd.FileName;
 
                if (file != null)
                {
                    Process.Start(new ProcessStartInfo(file, cmd)
                    {
                        WorkingDirectory = Path.GetDirectoryName(file)
                    });
                }
            }
           
        }


с новым кодом проверил

вот содержимое log.txt

CC5X Version 3.2G, Copyright (c) B Knudsen Data, Norway 1992-2005
--> FREE edition, 8-16 bit int, 24 bit float, 1k code, reduced optim.
OPTION ERROR: Duplicate file name or option error 'and'
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8728 / 3680 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
23.12.2010, 17:43
Federer, я читать умею:
Цитата Сообщение от Federer Посмотреть сообщение
при запуске в Far (CC5X.EXE README.TXT ) образуются 2 файла (если все работает)
После выполнения программы у меня создаются 2 файла:
README.occ
README.hex

В пути передаваемом компилятору, как параметр, не должно быть пробелов! Иначе компилятор воспринимает значения после пробела как параметры.

Т.е. путь к файлу либо не должен содержать пробелов, либо должен быть представлен в короткой форме (short path name), либо должен быть в кавычках. Измени код на этот:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
            using (OpenFileDialog ofd = new OpenFileDialog()) {
                string file = null, cmd = null;
 
                ofd.Filter = "Exe files|*.exe";
                if (ofd.ShowDialog() == DialogResult.OK)
                    file = ofd.FileName;
 
                ofd.Filter = "Txt files|*.txt";
                if (ofd.ShowDialog() == DialogResult.OK)
                    cmd = ofd.FileName;
 
                if (file != null) {
                    Process proc = Process.Start(new ProcessStartInfo(file, "\"" + cmd + "\"") {
                        WorkingDirectory = Path.GetDirectoryName(file)
                    });
                }
            }
1
0 / 0 / 0
Регистрация: 12.03.2010
Сообщений: 10
23.12.2010, 22:14  [ТС]
все работает!
Большое тебе СПАСИБО!!!=)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.12.2010, 22:14
Помогаю со студенческими работами здесь

Возврат каретки и перевод строки в приглашении Командной строки
В строке приглашения MS-DOS после вывода всей информации перейти на новую строчку. как это сделать?

Как запоминать строки в подобие массива и сравнивать их с другими строками?
Привет! Уже мозги кипят от нелогичности синтаксиса xsl - всё не могу постичь дзен. В чём суть: есть у меня список вида ...

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

QT с командной строки
В QT свой компил входит? Под чем он сам работает? Можно ли его юзить с командной строки? Как? Где вязть инфу для изучения реализованного...

Ошибка командной строки
У меня совсем не работает командная строка. Ну, базовые команды работают, а внешние, или банальная смена папки(с локального С на локальный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru