Tech
Forums
Jobs
Books
Events
Videos
Conference
Annual Conference
Bcrypt
Ai Conference
Live
More
Interviews
Certification
Training
Career
Members
News
Blogs
Contribute
An Article
A Blog
A Video
An Ebook
An Interview Question
Register
Login
0
Answer
ftp batch file in C# app
Ask a question
Ask a question
Upload Source Code:
Select only zip and rar file.
Jonathan Ownbey
17y
3.4k
1
Reply
I am having some issues with this code. It creates the batch file when executed. The batch file will run outside of the app, however the ftp process fails when I run the batch file through the app.
I appreciate any input tremendously as I have wasted too much company time on a small issue for one day.
code follows:
private
void
btnStartFtp_Click(
object
sender,
EventArgs
e)
{
System.
DateTime
date = System.
DateTime
.Now;BatFile =
new
FileInfo
(
@"c:\programs\tracker\trackerBat.bat"
);
TextFile =
new
FileInfo
(
@"c:\programs\tracker\trackerBat.txt"
);
try
{
/*********************************************************************
* Create text file which the following batch file will utilize.
********************************************************************/
using
(
StreamWriter
sw = TextFile.CreateText())
{
sw.WriteLine(
"open "
+ ipAddress);
//sw.WriteLine("pause");
sw.WriteLine(
"user"
);
sw.WriteLine(login);
//sw.WriteLine("pause");
sw.WriteLine(password);
//sw.WriteLine("pause");
sw.WriteLine(filePath);
for
(
int
x = 1; x < 4; x++)
{
sw.WriteLine(
"get pVQI"
+ date.ToString(
"MMdd"
) + x +
".zip"
);
//sw.WriteLine("pause");
}
sw.WriteLine(
"quit"
);
sw.Close();
}
/*********************************************************************
* Create batch file to download files.
********************************************************************/
using
(
StreamWriter
sw = BatFile.CreateText())
{
sw.WriteLine(
"@echo off"
);
sw.WriteLine(
"pause"
);
sw.WriteLine(
"prompt $"
);
sw.WriteLine(
"pause"
);
sw.WriteLine(
"ftp -n -s:trackerBat.txt"
);
sw.WriteLine(
"pause"
);
sw.Close();
}
/*********************************************************************
* Run batch file to download via ftp.
********************************************************************/
ProcessStartInfo
psi =
new
ProcessStartInfo
(
@"c:\programs\tracker\trackerBat.bat"
);
psi.RedirectStandardOutput =
false
;
psi.WindowStyle =
ProcessWindowStyle
.Normal;
psi.UseShellExecute =
false
;
Process
ftp =
Process
.Start(psi);
StreamReader
output = ftp.StandardOutput;
ftp.WaitForExit
();
if
(ftp.HasExited)
{
rtbOutput.AppendText(
"process ended\n"
);
string
line;
while
(!output.EndOfStream)
{
line = output.ReadLine();
rtbOutput.AppendText(line +
"\n"
);
}
}
else
{ }
}
catch
(
Exception
error)
{
rtbOutput.AppendText(error.Message);
}
}
edit: This problem has since been solved. The issue was that this line sw.WriteLine(
"ftp -n -s:trackerBat.txt"
); " was referencing a relative and not absolute path. By assigning "c:\\programs\\tracker\\trackerBat.txt" the path was recognized and the batch file executed.
Post
Reset
Cancel
Answers (
0
)
Next Recommended Forum
pieces and gameboards, using forms and controls ? advice needed
design pattern