2013-04-23 2 views
1

Все, что я пытаюсь сделать, это запустить сценарий VBS из кода, но я получаю эту ошибку: «Система не может найти указанный файл». Я знаю имя пути, и мне нужно только выполнить этот скрипт .vbs, но мне очень тяжело, и я не могу понять. Пожалуйста помоги. Благодаря вот мой кодКак запустить скрипт VBS из кода C#

System.Diagnostics.Process.Start(@"cscript //B //Nologo \\loc1\test\myfolder\test1.vbs"); 

я обновил код, как показано ниже, но я получаю предупреждение о безопасности спрашивать меня, если я хочу, чтобы открыть его. Есть ли способ не получить такое предупреждение и просто запустить скрипт без каких-либо предупреждений? здесь обновленный код:

Process proc = null; 
     try 
     { 
      string targetDir = string.Format(@"\\loc1\test\myfolder");//this is where mybatch.bat lies 
      proc = new Process(); 
      proc.StartInfo.WorkingDirectory = targetDir; 
      proc.StartInfo.FileName = "test1.vbs"; 
      proc.StartInfo.Arguments = string.Format("10");//this is argument 
      proc.StartInfo.CreateNoWindow = false; 
      proc.Start(); 
      proc.WaitForExit(); 
     } 
     catch (Exception ex) 
     { 
      // Console.WriteLine("Exception Occurred :{0},{1}", ex.Message, ex.StackTrace.ToString()); 
     } 

ответ

2

Ваш код работает отлично для меня, Я думаю, что ошибка была в вашем File Path,

Лучше Подтвердите путь к файлу вы дали правильный или не ..

Вы можете запустить что файл, как показано ниже, также ..

Process scriptProc = new Process(); 
scriptProc.StartInfo.FileName = @"cscript"; 
scriptProc.StartInfo.Arguments ="//B //Nologo \\loc1\test\myfolder\test1.vbs"; 
scriptProc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; 
scriptProc.Start(); 
scriptProc.WaitForExit(); 
scriptProc.Close(); 

Но проверить ваш путь к файлу вы дали ..

+0

Я думаю, что это сработало нормально, без проблем, но если бы вы могли сказать мне, хочу ли я запускать скрипт vbs, который находится на другом сервере, как мне это сделать? Я предполагаю, что я должен указать имя пользователя и пароль, но не называть, как изменить этот код? спасибо – moe

+0

@moe - Новые версии Windows требуют, чтобы вы разрешили запуск файлов сценариев, подобных этому. Обновите свой вопрос, чтобы отразить эту информацию. –

3

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

Вы можете использовать это в качестве руководства для выполнения programs with command line from an application.

+0

kevin Я только что обновил свой первоначальный пост, пожалуйста, см. Выше. Я получаю предупреждения, прежде чем я смогу выполнить скрипт. спасибо – moe

+0

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