Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Iliy
0 / 0 / 1
Регистрация: 22.06.2017
Сообщений: 33
1

Запуск bat-файла в определенной папке

23.06.2017, 09:41. Просмотров 249. Ответов 2
Метки нет (Все метки)

Здравствуйте

Сам батник запускается и отрабатывается, но не так как я хотел. Проблема в том что сам bat файл выписывает имена файлов в *.txt где находится батник. При запуски его из WinForms по нажатию кнопки событие отрабатывается и создает *.txt файл где находится экзешник программы.
Подскажите как можно сделать так что бы при нажатие на крупку в WinForms файл *.txt создавался там где лежит bat файл.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
        private void button1_Click(object sender, EventArgs e)
        {
            var processInfo = new ProcessStartInfo("cmd.exe", "/c" + "\"D:\\ag4.bat\"");
 
            processInfo.CreateNoWindow = true;
 
            processInfo.UseShellExecute = false;
 
            processInfo.RedirectStandardError = true;
            processInfo.RedirectStandardOutput = true;
 
            var process = Process.Start(processInfo);
 
            process.Start();
 
            process.WaitForExit();
 
            string output = process.StandardOutput.ReadToEnd();
            string error = process.StandardError.ReadToEnd();
        }
Windows Batch file
1
2
3
4
5
6
7
8
9
@echo off &setlocal enableextensions &chcp 1251 >nul
 
set /p "tail=Enter the tail:"
if not "%tail%"=="" set "tail=   %tail%"
 
for %%d in ("%cd%") do (
  For /F "delims=" %%A In ('Dir  /A-D /B') Do (Echo md %%A)>>file.txt
  pause
)
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2017, 09:41
Ответы с готовыми решениями:

Запуск .bat файла
запускаю start.bat Process.Start("server/login/start.bat"); часть внутренностей start.bat SET...

Запуск bat файла в другой ОС
Здравствуйте, уважаемые программисты! Я по такому вопросу. Вот код программы: class Program ...

Количество файлов в определенной папке
Можно средствами C# подсчитать количество файлов в определенной папке?%)

Программа неправильно работает, когда находится в определенной папке
Есть простая программа, в которой в DataGrid сохраняются значения. Значения сохраняются в...

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

2
OwenGlendower
Супер-модератор
Эксперт .NET
11305 / 9525 / 4021
Регистрация: 17.03.2014
Сообщений: 19,060
Записей в блоге: 1
Завершенные тесты: 2
23.06.2017, 13:11 2
Iliy, два варианта решения - указать каталог через C# или исправить bat файл чтобы он всегда работал с каталогом где находится
C#
1
2
3
4
5
6
        private void button1_Click(object sender, EventArgs e)
        {
            const string batPath = @"D:\ag4.bat";
            var processInfo = new ProcessStartInfo("cmd.exe", string.Format("/c \"{0}\"", batPath));
             processInfo.WorkingDirectory = Path.GetDirectoryName(batPath);
            ...
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
@echo off &setlocal enableextensions &chcp 1251 >nul
pushd %~dp0
 
set /p "tail=Enter the tail:"
if not "%tail%"=="" set "tail=   %tail%"
 
for %%d in ("%cd%") do (
  For /F "delims=" %%A In ('Dir  /A-D /B') Do (Echo md %%A)>>file.txt
  pause
)
popd
1
Iliy
0 / 0 / 1
Регистрация: 22.06.2017
Сообщений: 33
26.06.2017, 07:10  [ТС] 3
Спасибо.
Есть еще вопрос, почему при запуске *.bat через WinForms он дублирует имена файлов, а когда запускаешь просто батник имена выписывает нормально (1 раз). С так понимаю это я что то начудил в коде на кнопку, только не могу понять что(
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.06.2017, 07:10

Запуск определенной формы с помощью if/else, по состоянию значения ключа EnableLUA
Всем привет я только начал учится и пытаюсь написать прогу которая устанавливает нужный мне софт...

Как отследить запуск определенной программы и остановить несколько сервисов в системе
Вообщем для себя решил 4 месяца назад написать программу (под виндовс 7) задача этой программы...

Запуск файла в папке, лежащий в папке с запускающим файлом, с предварительной скачкой данного файла
Вообщем, у меня есть программа, которая должна качать определённый файл с определённой ссылки, а...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.