2013-06-20 2 views
1

Я два окон командной строки, как следовать,Различных окна командной строки не выполняют ту же команду

  1. Администратор: Командная строка - Открыты вручную

-

  1. Администратор: C: \ Windows \ System32 \ c md.exe - открыто C# кодом (Process.Start)

Я пытаюсь выполнить команду SVN, т.е. рассмотрит svn update команду.

Эта команда выполнена успешно в 1-м CMD, который я открыл вручную. Но эта же команда не выполняется во втором окне cmd, которое открывается кодом C#.

Давать ошибку, как «СВН» не признается в качестве внутренней или внешней командой

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

Почему cmd действует по-другому?

+1

Если вы хотите использовать Subversion из приложения .NET, то лучше интегрировать [SharpSVN] (http://sharpsvn.open.collab.net/) в код - Дон» t запускать другие процессы для запуска других процессов. Кроме того, добавление зависимости от 'svn.exe' просто приводит к большему количеству вещей, которые нужно управлять и распространять. – alroc

+0

@alroc, Thaks. из кодового вызова svn не обновляется. Так что только пошел в bat-файл. Но все равно его тоже не работает. Я приобрел VisualSVN Server и установил на своих серверах. Еще я постараюсь с SharpSVN. – user9371102

ответ

1

Вы говорите, что вы проверили переменную %PATH%, но вы ничего не сказали о том, как вы ее проверили и каким был результат. Что вы получаете, когда запускаете echo %PATH% в командном окне 2 nd?

Учитывая сообщение об ошибке, почти наверняка отсутствует путь к исполняемому файлу svn с вашего %PATH%. Попробуйте следующее:

set PATH=%PATH%;C:\path\to\svn\dir 
svn update 
+0

Спасибо, я проверил. Второй cmd работает, если мы даем команды вручную. Его не работает при вызове из кода. – user9371102

+1

Тогда, похоже, у вас есть проблема с вашим кодом. Мы ничего не можем вам сказать, не видя этого. –

+0

System.Diagnostics.Process.Start ("cmd.exe", "svn update path_to_svn_dir"); и System.Diagnostics.Process.Start (@ "c: /file_path/name.bat"); оба не работали. файл bat содержит команду в первой строке. – user9371102

Смежные вопросы