通过从vb.net应用程序传递争论来调用.bat文件

时间:2014-10-12 18:16:08

标签: vb.net batch-file

从Vb.Net Application,我通过传递SourceFile,DestinationFile来调用.bat文件。 .Bat文件将源文件传输到目标文件夹。如果我通过传递arguements直接从命令提示符调用.bat文件,则文件将被转移。

我的代码无法传输文件。我无法找到代码无法执行.bat文件的错误。

 Dim strBatchFile As String = String.Empty

        strBatchFile = AppDomain.CurrentDomain.BaseDirectory
        strBatchFile = strBatchFile.Replace("\bin\Debug", "\ShellScript")
        strBatchFile = strBatchFile & "callsfxcl.bat"

        Dim proc As New System.Diagnostics.Process()
        proc.StartInfo.UseShellExecute = False
        proc.StartInfo.FileName = strBatchFile
        proc.StartInfo.Arguments = String.Format("{0},{1}", strSourceFile, sSFTP)
        proc.StartInfo.CreateNoWindow = True
        proc.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden
        proc.Start()

2 个答案:

答案 0 :(得分:0)

批处理文件由cmd.exe运行。 cmd /c batfile.bat。如果您已将UseShellExecute设置为true,则Windows将为您完成此操作。我怀疑你没有看到错误。

从.NET帮助fror filename属性。

您可以使用的文件类型集部分取决于UseShellExecute属性的值。如果UseShellExecute为true,则可以使用Process组件启动任何文档并对文件执行操作,例如打印。当UseShellExecute为false时,您只能使用Process组件启动可执行文件。

答案 1 :(得分:0)

批处理文件由cmd.exe运行。

cmd /c batfile.bat.

所以cmd是您的流程,/c c:\path\batch.bat是您的论据。