Post a reply

Options
Add an Attachment

If you do not want to add an Attachment to your Post, please leave the Fields blank.

(maximum 10 MB; please compress large files; only common media, archive, text and programming file formats are allowed)

Options

Topic review

suravi

Re: How to move file using winSCP when file exist?

Yes than you.


martin wrote:

My answer to your question on stackoverflow.com:

If you are asking if WinSCP can do this automatically for you, the answer is "no".

You need to explicitly check target file existence and rename it before you move the file.

Note that rename and move is the same operation from WinSCP .NET Assembly API perspective. So you use Session.MoveFile method for both:
https://winscp.net/eng/docs/library_session_movefile

From your question, it's not clear if server.DoneFilePath is path to target directory (ending with slash /) or part to target file (ending with file name). Assuming is is path to target directory only:

string doneFile = server.DoneFilePath + fileInfo.Name;

if (session.FileExists(doneFile))
{
    session.MoveFile(doneFile, doneFile  + ".bak");
}

// carry on with your move code:
session.MoveFile(server.RemoteDownloadPath + fileInfo.Name, server.DoneFilePath);


https://stackoverflow.com/q/21300315/850848
martin

Re: How to move file using winSCP when file exist?

My answer to your question on stackoverflow.com:

If you are asking if WinSCP can do this automatically for you, the answer is "no".

You need to explicitly check target file existence and rename it before you move the file.

Note that rename and move is the same operation from WinSCP .NET Assembly API perspective. So you use Session.MoveFile method for both:
https://winscp.net/eng/docs/library_session_movefile

From your question, it's not clear if server.DoneFilePath is path to target directory (ending with slash /) or part to target file (ending with file name). Assuming is is path to target directory only:

string doneFile = server.DoneFilePath + fileInfo.Name;

if (session.FileExists(doneFile))
{
    session.MoveFile(doneFile, doneFile  + ".bak");
}

// carry on with your move code:
session.MoveFile(server.RemoteDownloadPath + fileInfo.Name, server.DoneFilePath);


https://stackoverflow.com/q/21300315/850848
suravi

How to move file using winSCP when file exist?

I'm developing sftp file transferring project using winSCP (C#). i want to move files in server.here is the code.

session.MoveFile(server.RemoteDownloadPath + fileInfo.Name, server.DoneFilePath);

Console.WriteLine("Move File {0} to {1}", fileInfo.Name, server.DoneFilePath);


if current moving file exist in target path it not move.so i want to rename file and move it. is there any way to do that?