Automatically Delete Files After Download - KB Article #2087Related Articles --
You can use the "file download" event on Serv-U to run a batch file that automatically deletes files from certain folders after they are downloaded.
- If you do not already have them, create a local folder for Serv-U batch files and a local folder for Serv-U logs.
- Create a batch file called "deletefileafterdownload.bat" in your Serv-U batch file folder. Copy/paste this text in:
time /t >> D:\local\ServU_One\Log\DeleteFileAfterDownload.log echo Deleted %1 >> D:\local\ServU_One\Log\DeleteFileAfterDownload.log del %1 >> D:\local\ServU_One\Log\DeleteFileAfterDownload.log
- Before you save the batch file, change the log path ("D:\local\ServU_One\Log") to your Serv-U log path. (Don't worry about creating the "DeleteFileAfterDownload.log" file - when Serv-U runs this batch file it will be done automatically.)
- Create a new domain-level event called "Delete File After Download"
- Event type: File Download
- Event Name: Delete File After Download
- Enable Event: Checked
- Description: (write which folders this applies to)
- Action: Execute Command
- Executable Path: (full path of deletefileafterdownload.bat)
- Command Line Parameters: $LocalPathName
- Completion Wait Time: 0
- Flip to the "Event Filters" tab on your new event and add an Event Filter
- Name: Just Folders Named (whatever your folder criteria are)
- Logic: (doesn't matter if you only have one filter rule)
- Filter Enabled: Checked
- Description: (optional)
- Variable: $PathName
- Comparison: = (is equal to)
- Constant = *dad* (change as necessary; just "*" will match all)
- Data Type = (abcd) string
- Test the process
- Sign on as an end user.
- Download a file from a folder that should trigger the event.
- Check that the event firing was noted in the Serv-U domain log, and also check that a new "Deleted (filename)" entry appeared in the DeleteFileAfterDownload.log file. Also refresh your directory listing in the client you used to perform the download to verify that the file is gone.
- Now download a file from a folder that should NOT trigger the event and check that the event did not fire.
- You may want to remove the statements that log to a separate file after you are sure the process works. In that case, the batch file will function with just a single command on a single line: "del %1"
- Experiment with different event filters to get the delete event to trigger on different combinations of file names and folder names.