[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More







The File Transfer Program (FTP) is a standard network protocol used to transfer computer files between a client and server on a computer network. Built on a client-server model architecture, it separates control and data connections between the client and the server. Users may access the server through a sign-in protocol, typically in the form of a username and password.

Share tech news, updates, or what's on your mind.

Sign up to Post

Hi Experts,

do you have a manual about creation of SFTP Server on WIndows ?
Become a Leader in Data Analytics
Become a Leader in Data Analytics

Gain the power to turn raw data into better business decisions and outcomes in your industry. Transform your career future by earning your MS in Data Analytics. WGU’s MSDA program curriculum features IT certifications from Oracle and SAS.  

I install FTP tools (Filezilla 0.9.44 server version ) on windows server 2012. Sometimes occurs a error message " Failed to load SSL libraries" message. Our client can't connect to FTP server. Please help me to solve it . Thanks
I have 2 types of files written into a local FTP directory.
Those ending with *.dat extension are good files I want to keep
Those with no extension are junk files I want to delete periodically.

I am looking for a command that will either:
a) delete all files that have no extension
b) delete all files that do not have a *.dat extension
Hi Experts,

We are using freeFTPd as our sftp server and it is working fine. The only problem is when the server is restarted, i does not start automatically. Any suggestion how to start this automatically when the server is restarted? Also any suggestion if there are any better SFTP server which will start automatically after a system reboot?
Thanks in advance.
I have an application running on several customers PCs (Delphi XE2 developed).
The application sometimes access a FTP server (hosted by OVH, very reliable)  to download some files.
It works fine on all customer's PCs, ... except, since a couple a days, on one of them.
I could verify that the connection is correctly established but the "get" results in the following error :
Socket error 10054, connection reset by peer
I have asked the customer to retry, after disabling his anti-virus and firewall (I could not very that yet) but the error is the same
What I'm trying to do is create a ftp user that can update and modify files in an apache2 v2.4 (with www-data) web directory.

I have a single user: UserA (names changed to protect the guilty) The folder is /var/www/vhosts; chowned to www-data:www-data UserA has been addded to the www-data group. The UserA's home directory is set to /var/www/vhosts

I have ProFTPd setup and running. UserA connects fine.

The problem is ownership of the folders/files. all files are set to 644 as normal all folders are set to 755.

since UserA is not the owner, it falls under the group policies and files cannot be added, deleted, or modified because of the limitations.

Is there any way to masquerade UserA as www-data so they can perform the job?

Am I thinking of this the right way? is there another way to do it? Thanks The user connects via FTP to the web folder
I have a program that sends the file via ftp, but this file always gets unwritten permission. How do I make this file always be sent with write permission. Or how do I make the files inside this folder always have write permission?
What are the strings of commands in CUTEFTP to download all files found in a specific remote folder?
Either it can override all local files, or it should only download the latest files it finds which are not on the local folder.
Please, I have these codes in python 2.7 which great in downloading files from the server. How could extend them to add upload using a socket, threading with the ability to list files in server side and user should enter hardcoded username and password before it granted to enter and list files?

the requirements are simple but I'm still beginner ..

Server Code

  import socket
    import threading
    import os

    def RetrFile(name, sock):
    filename = sock.recv(1024)
    if os.path.isfile(filename):
        sock.send("EXISTS " + str(os.path.getsize(filename)))
        userResponse = sock.recv(1024)
        if userResponse[:2] == 'OK':
            with open(filename, 'rb') as f:
                bytesToSend = f.read(1024)
                while bytesToSend != "":
                    bytesToSend = f.read(1024)
        sock.send("ERR ")


def Main():
    host = ''
    port = 5000

    s = socket.socket()


    print "Server Started."
    while True:
        c, addr = s.accept()
        print "client connedted ip:<" + str(addr) + ">"
        t = threading.Thread(target=RetrFile, args=("RetrThread", c))


if __name__ == '__main__':

Open in new window

Client code

import socket

def Main():
    host = ''
    port = 5000

    s = socket.socket()
    s.connect((host, port))

    filename = raw_input("Filename? -> ")
    if filename != 'q':
        data = s.recv(1024)
        if data[:6] == 'EXISTS':
            filesize = long(data[6:])
            message = raw_input("File exists, " + str(filesize) +"Bytes, download? (Y/N)? -> ")
            if message == 'Y':
                f = open('new_'+filename, 'wb')
                data = s.recv(1024)
                totalRecv = len(data)
                while totalRecv < filesize:
                    data = s.recv(1024)
                    totalRecv += len(data)
                    print "{0:.2f}".format((totalRecv/float(filesize))*100)+ "% Done"
                print "Download Complete!"
            print "File Does Not Exist!"


Open in new window

I would like to modify this FTP script below so that it does the following

1. Download any new files to the local directory.  (So the script needs to determine what it downloaded last time, so that it doesn't download it again, unless it it's easier to write the script so as to download everything it sees in the remote directory to the local directory and just overwrite any files which it sees, which is ok as well, in this scenario).

2. Does not delete the previous files from the remote directory.

@echo off

set password=xxxxxxxxxx
set /p password=<%~nx0:password
if not "%password%"=="" goto OK
set /p password=Enter password: 
echo %password%>%~nx0:password

set localdir=\\server1\main\
set remotedir=/out
set ftpserver=xxxxx.xxxxxxxxxxx.com
set username=xxxxxxxx

::del "%localdir%\*.*" /q

call :GetFtpFiles
call :ClearFTPFiles

exit /b

    (echo open %ftpserver%
    echo user %username% %password%
    echo bin
    echo cd %remotedir%
    echo lcd "%localdir%"
    echo mget *.*
    echo quit
    ) | ftp -n -i
    exit /b

    (echo open %ftpserver%
    echo user %username% %password%
    echo cd %remotedir%
    (for /f "tokens=*" %%a in ('dir /b /a-d "%localdir%\*.*"') do @echo dele "%%~a")
    echo quit
    ) | ftp -n -i -d

Open in new window

Determine the Perfect Price for Your IT Services
Determine the Perfect Price for Your IT Services

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden with our free interactive tool and use it to determine the right price for your IT services. Download your free eBook now!

I have a small VB6 exe file that I have signed using a code signing certificate from GoDaddy.
I signed the file using Micrsofts SignTool.
I put the file on a Windows PC and execute it. No problem. Certificate is valid.
I can run it multiple times, and still valid.

I then I have another program (Access DB) that calls this file using a shell command.
Once it calls that file, it immediately makes the file's certificate invalid: "The Digital Signature Is Invalid"

This VB6 file has never been a problem for years.  I recently had to make a small change to the file. Just one line of code.
BUt the VB6 program loses it's certificate even before it's executed.

I'm stumped.

Note: The VB6 file performs on FTP file download and works fine.
Problem with FTP user isolation in IIS 8.  Users logging into server are going into the localuser folder instead of their own folder.
We are only using this IIS server for FTP. I have created local user accounts with passwords on the server and created folders under the Localuser directory with the same name as the local user account. I gave full control permissions to the user account on that folder.
However, when a user logged in, he went in at the localuser level and did not see any of the other directories, including the folder on his own name.  Any help is greatly appreciated.
Windows Server 2012 R2 Standard with IIS8.
Hi All,
We need to migrate our file server hardware from old to new,
However, the "file server" is actually just a windows server E drive, a share folder name "fileserver",
inside contained multiple share folder and various security/permission assigned by Active Directory.
Our environment have approximate 80 clients, unfortunately the setup from previous IT for their PC is all local workgroup without join domain,
the AD server is only prepare for exchange server requirement.
Therefore although their computer is not joined the domain, but we still managed to map share drive for them via input fileserver address and use their AD login credential.

if now we attempt change the server, means we need to help all clients remap the share drive according their various requirement,
if out new hardware computer name, and IP address modify as same with old server (replace old fileserver name), is it possible to lead user access the share drive without remap?
I want improve this batch script I wrote to rename a file and upload

@echo off
#Rename Files
cd c:\aaaa\bbbb\
ren QQ-PS.txt QQ-PS.%date:~-10,2%%date:~-7,2%%date:~-2,4%.%time:~0,2%%time:~3,2%%time:~6,2%.txt
ren QQ-OR.txt QQ-OR.%date:~-10,2%%date:~-7,2%%date:~-2,4%.%time:~0,2%%time:~3,2%%time:~6,2%.txt
#Send QQ file to SFTP SERVER
ftp -n -i SFTP SERVER <<END
user xxxx xxxxx
lcd c:\aaaa\bbbb\
cd "\ccc\ddd\"
mput QQ-*.*.txt
Hello Experts-I'm running with an issue. I have created a FTP file server on my local system on WIN10. I've a static IP address & am able to access & see the files from any outside IP through a web browser. But when I try accessing the FTP folder from an outside IP/network through file explorer, I get an error message as stated below.-

The folder '' is read-only because the proxy server is not set up to allow full access. To move, paste, rename, or delete files, you must use a different proxy. For information on changing your proxy, contact your administrator.'

I read several online posts & found the solutions but they never worked for me. I disabled the windows firewall but still I'm seeing the same issue, I did the setting in "internet options-FTP folder view" but this also did not help.

Can anyone help please.
I've set up FTP on Server 2012 Standard, I'm accessing with a local user account and can log in fine but cannot see any of the files. Local user used has full permissions on the FTP folder, has to be something simple I'm not thinking of.

Connecting from Mac to local IP (opens an Empty folder)

Connecting locally from explorer (200 type set to A / 227 Entering Passive Mode ("public IP",232,79)
We're having issues with ftp.exe on Windows 2016 servers located in Azure. Connecting to a FTP server using for instance explorer or ncftp works fine but when we do it using ftp.exe we can connect and then get instantly disconnected when for instance sending the ls command. We've tested on Windows 2016 servers not located in Azure and then everything works fine. We are not blocking any outbound connections from the VM to the internet.

Has anyone seen this issue before and can help us resolve it?
I had this question after viewing How to connect to multiple parallel SFTP using JSCH?.

Is it possible to have multiple SFTP connections for the same host,username and port??
I need to be able to host files(images in this case) on a server, to be read by my ecommerce website.

I would like to be able to control the names of the files and folders.  For instance, I might want to call the image http://www.hostingsite.com/project1/images/book_cover.jpg

An added bonus would be if I could map a local drive letter, like "X:\" to my hosted folder.  I usually use a combination of FTP and Webdrive to achieve this.
IT Pros Agree: AI and Machine Learning Key
IT Pros Agree: AI and Machine Learning Key

We’d all like to think our company’s data is well protected, but when you ask IT professionals they admit the data probably is not as safe as it could be.

I have one access_log under main folder and have to copy that access_log under another folder where external FTP Server can able to download the log automatically.

My Question is Access_log generated in server for Whole day but we need to have only access_log for 15minutes using diff command.

Please let me know the diff command to be used for changing filename automatically everytime once the diff checked between two files.
So I am in the middle of changing a scheduled tasks account that it runs under as the current ones password is changed monthly.
I have added the account to the same groups for permissions as the previous account.

The basics of the script are:
Connect to FTP
Download files
Rename files
Move files
Archive files

Now when i run a test on the script it is for some reason it was unable to see the txt file that connects to the FTP account, i have to edit the command to point the script to the full path location "C:\tempfiles\ftpscript.txt" instead of it previously using "\ftpscript.txt", then it is also downloading the files into my documents and not the directory that it was downloading to before "C:\tempfiles"

It is as if the cmd prompt looks to different locations when run under those different accounts? I am not sure why it is now downloading in that location when it ran fine before. I think the only difference between the 2 accounts are that the previous account was the built in domain admin account and this is a new account we created which is also a domain admin account.

Script below:

:: Download all files via WINSCP
"C:\Program Files (x86)\WinSCP\winscp.com" /script=ftpscript.txt

:: Rename files
cd: "c:\tempfiles"
ren p3de* "temp file1"
ren p3tr* "temp file2"

:: Move files

::Archive files
MOVE "C:\Tempfiles\*.* "C:\tempfiles\archive"

Now so far i have amended the download command to …
Has anyone got any recommendations for an FTP client which supports TLS/SSL (not SFTP,) can be automated and can notify via email the log from a download?
We have a script that is executing sftp file transfers to a directory on the server, which is running Red Hat Linux.  Is there a way to configure the destination directory so that any file placed there via SFTP will inherit RW-RW-RW permissions?

Thanks in advance for any hints or advice.

I have three locations that I custom develop for, and each location has the exact same code on each page.  However, each page has site dependent code (if url = 123 then this code, else this code, etc).  this allows me to have one master copy of each page and then distribute that one page to all 3 locations.

so, right now, I just do a copy paste of file a to location a, location b, and location c, all on different servers, all in different physical locations (but with a tunnel built between all 3 locations).

I'd like to have a drag and drop, or double click, something that makes my file I modified "live" without having to copy the file to 3 locations.  My initial thought was some sort of ftp where I double click the file and it makes the file live to all 3 locations, but I'm not certain that is possible.

Any suggestions?
    I am using the AWS sFTPGateway application made by Thorn Technologies. It lets you connect an EC2 instance to an S3 bucket and then allow sFTP from the outside which then gets stored into the bucket in a folder based on the linux user that you create. When you create a user it puts them in to the sftponly group and they are locked to their home directory, which ends up being /home/user/home/user/*files_go_here. I asked them about using standard FTP and they said while it is not officially supported people have had success by using information found here https://stackoverflow.com/questions/7052875/setting-up-ftp-on-amazon-cloud-server#.

    I went through the steps to install and setup vsftpd, I can hit a login using standard port 21 ftp but it does not seem to authenticate properly and I am not seeing anything in the logs anywhere regarding this. Most of the setup seems the same as the sftpgateway such as having a user created, them being in the sftponly group, etc. The user can be logged in when using port 22, but not port 21. Does anyone have any insight as to what I might need to change to allow this to work? I am not sure if there is something within vsftpd that  I need to change so that it knows each user is now in /home/user/home/user instead of just /home/user, as permissions for that particular user are only on the last /user folder and not on anything before that.

If anyone has any information, I would greatly appreciate  it!







The File Transfer Program (FTP) is a standard network protocol used to transfer computer files between a client and server on a computer network. Built on a client-server model architecture, it separates control and data connections between the client and the server. Users may access the server through a sign-in protocol, typically in the form of a username and password.

Top Experts In