Tuesday, September 01, 2009

Fix: FTP on Vista: "Replace Existing File with Temp File:I/O Error"

I ran into a problem trying to use Vista's command-line FTP utility (ftp.exe) to download a file directly into the \inetpub\wwwroot directory (the root IIS directory) on my local machine.

The ftp get command produced the following output:

150 Opening ASCII mode data connection for file(4538 bytes).
> Replace Existing File with Temp File:I/O Error
226 Transfer complete.
ftp: 4538 bytes received in 0.17Seconds 26.69Kbytes/sec.

When I checked the local destination directory, the file was not present.

The cause of the problem was that the local directory I was trying to download the file into (in this case, \inetpub\wwwroot) is a protected directory in Vista, requiring administrator access to copy into.

So, there are a couple of possible workarounds:

  1. Run ftp.exe as Administrator. (One way to do this is to open Windows Explorer, navigate to the directory where ftp.exe is located -- typically C:\Windows\System32 -- and right-click ftp.exe and select Run As Administrator.)
  2. Download the file into a non-protected directory, and then use another tool (such as Windows Explorer) to copy the file to the protected final destination directory.