从VB脚本将代码转换为C#

时间:2013-05-22 14:49:25

标签: c# vbscript code-conversion

我正在尝试使用一些同事拥有的遗留代码从VB脚本过渡到C#。我似乎无法确定如何转移这条线。任何帮助都会有所帮助。

Set objShell = CreateObject("wscript.shell")
objShell.Run """C:\Program Files\Ipswitch\WS_FTP Professional\ftpscrpt.com"" -f P:\share\getfiles.scp", 1, True
Set objShell = Nothing

3 个答案:

答案 0 :(得分:2)

这是我挖出的一些旧笔记,但应该有效:

Process proc = new Process();

proc.StartInfo.FileName = @"C:\Program Files\Ipswitch\WS_FTP Professional\ftpscrpt.com";
proc.StartInfo.Arguments = @"-f P:\share\getfiles.scp";
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.UseShellExecute = false;
// start the process
proc.Start();
// wait for it to finish
proc.WaitForExit(5000);     
// get results
string output = proc.StandardOutput.ReadToEnd();
string error = proc.StandardError.ReadToEnd();

答案 1 :(得分:1)

我认为确切的C#等价物是这样的:

var objShell = Microsoft.VisualBasic.Interaction.CreateObject("wscript.shell");
objShell.Run("\"C:\\Program Files\\Ipswitch\\WS_FTP Professional\\ftpscrpt.com\\" -f P:\share\getfiles.scp", 1, true);
objShell = null;

但实际上,您应该添加对相关程序集的引用并直接调用其方法。

答案 2 :(得分:1)

有关执行命令的信息,请参阅 example (向下滚动到示例)。您可以尝试更改 UseShellExecute 选项以获得结果。