|After trying in vain to setup an automated web pages upload job using only Windows' native FTP, I switched to Fileaze, which I now use on a daily basis.|
|Fileaze, by Resolware, is a program to automate any (file manipulation) task, not just file transfers.
It is not a command line tool, it uses a GUI to setup its jobs.
|Unfortunately, Resolware recently stopped actively selling Fileaze, and discontinued the website dedicated to Fileaze.
Fortunately, though, the program can still be purchased, and you can still download a trial version.
The current (and probably final) version is 1.0.6.
|In this tutorial I'll show you how I created an automated FTP job to upload my HTML files to my website.|
|It is not much different from the original tutorial on the (now discontinued) Fileaze website, but I added some extra file filtering because I store lots of non-web files in my source directories, and I just don't want these files to be uploaded.|
|Besides that, trying to explain the procedure seemed like a great way to learn how to use it myself.|
|What I am about to show here is how I upload my web files (HTML, plain text source files, ZIPped source files and GIF and JPG images) located in the folder "C:\website" to a directory "WWW" on my (fictional) server "ftp.mydomain.com".
Instead of uploading all files each time, I want to upload only those files that have been modified since the last upload.
As I said, in the "C:\website" folder I also have several scripts and other files used to edit the web files. These "service" files, whose names all start with an underscore, should be excluded from the upload.
|Choose "Job", "New" from the menu or press the icon on the button bar to start a new job.|
|On the "General" tab, type a name for the new job.|
|On the "Sources" tab, press the button and select "Folder...".
(remember, for our upload the source is a local folder).
|Press the upper button (next to the "Folder" field) to select the source directory, or type the fully qualified directory name.
Check "Include subfolders" if applicable.
Check "Keep directory structure" unless you want to drop all files from all subdirectories in one single remote folder.
Uncheck "Keep root folder"; this would create a folder named "website" in our remote folder on the server, which isn't what we want in this case.
Then press the lower button to open the "Folder and file filter" dialog.
|This "Folder and file filter" dialog, displayed below, may require a little more explanation.
I used the regular expression \\[ˆ_][ˆ\\\.]*\.(txt|html|zip|gif|jpg|js|css)$ to:
Keep in mind that the filter parses the fully qualified file name (including drive and path), so the first character will be the drive letter, not the first character of the file name.
This is why I started the expression with \\ and used [ˆ\\\.]* instead of .*, to make \\ at the beginning of the expression match the last backslash in the fully qualified file name.
I can't blame you if you're not following. It took me hours to figure this out myself.
Just uncheck "Match as regular expression" for normal "DOS mode" filespecs (e.g. "*.html").
You could even specify several folder sources, all pointing to the same directory, but with different file name filters: one folder source looking for "*.html" files with Archive attribute set, another one looking for "*.txt" files with Archive attribute set, etcetera.
You may not even need to filter the file names at all, in which case you should make sure the "Folder and filename" checkbox remains unchecked.
|Note that I also checked the "File attributes" and the "Archive" attribute checkboxes. This will include only files that have been modified (Archive attribute set), or exclude all files not modified.|
|Use any available file filter appropriate for the task at hand.|
|Press the button when finished.|
|If you have any files with their Archive attributes set right now, use the button to check if they are properly selected.
Uncheck "Exclude folders" unless you want to exclude subfolders from being uploaded.
Press again to close the "New folder source" dialog.
|The "Sources" tab will now show our newly created source filter.|
|Go to the "Actions" tab.|
|On the "Actions" tab press the button and choose "Ftp..."|
|Press the lower button to create a new FTP account, or choose an existing one from the "Ftp account" list.|
|Press the button in the "Ftp accounts" dialog window.|
|Fill in the required FTP account data and press to check the logon.
Press to save the settings and close the "New ftp account" dialog.
|Press the button to select the (new) FTP account|
|Fill in the "Remote folder" and press the button to save the settings and close the "New ftp action" dialog.|
|The "New job" window now shows the FTP task.|
|We just finished the FTP part of the upload job, but there is one more detail to deal with.|
|If we were to leave the job as it is, the Archive attributes of the files would never be reset, and eventually all files would be uploaded each time.|
|So we need to reset the Archive attributes after the files are uploaded.|
|On the "Actions" tab press the button and choose "Set attribute..."|
|Deselect "Archive", which means the Archive attribute will be reset (to set an attribute, check the checkbox, to leave it unaltered click until a the checkbox is filled with a small square).
Press to save the task.
|The "New job" window now shows the FTP task and the Set attribute task.|
|We just completed creating the FTP upload job.|
|It is time to test it.|
|Make sure at least one file has its Archive attribute set (in this case I set the Archive attribute for ftp.html).|
|Select the job and click the icon, or use "Job", "Run" from the menu.|
|If all went well, you should now see a dialog like this one.
Congratulations, you just created your first Fileaze unattended FTP upload job without scripting.
|If no file was uploaded, check if any Archive attributes were set.
You may also need to recheck the "Folder and file filter" to make sure you selected the correct files (manually set some Archive attributes and use the button).
|Once you're sure the job works as planned you can schedule the job using the "Schedule" tab in the "Edit job" window.|