从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()
答案 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
是您的论据。