Delete files and folders in a specified path!
A question I tend to see a lot in the forums is:
"How do I delete a directory and all files/directories inside of that directory?".
The truth is that ColdFusion does not provide an easy way to achieve the desired result. So to be able to do it you have to get a little creative :) (Gettin creative is a good thing, trust me!)
First take a step back and define what exactly you want to delete, so we'll define a folder (path):
<cfset tDirectory = "C:\myFolder\"> <!--- this can be passed in a varaible or whatever --->
Next we will take advantage of Window's DOS (Remember DOS? yup, it still exists!) command RMDIR. We will create a string that we will write into a .bat file (.bat file is used to be executed in windows later down in this tutorial).
<cfset tString ="RMDIR /S /Q " & tDirectory> <!--- This is what we will put in the bat file --->
I want to take a moment and explain a bit further what RMDIR really is. RMDIR is a built in command that Windows operating system uses (via DOS) to actually do just what we need. It will delete a directory and all directoris and files under the directory. Now, l et's take a look at how you call it and what it's attributes are:
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\pvarando>rmdir /?
Removes (deletes) a directory.
RMDIR [/S] [/Q] [drive:]path
RD [/S] [/Q] [drive:]path
/S Removes all directories and files in the specified directory
in addition to the directory itself. Used to remove a directory
tree.
/Q Quiet mode, do not ask if ok to remove a directory tree with /S
|
(NOTE: To see this in your computer, click "Start" > "Run" > Type in : "cmd" (without the quotes) and the enter key. This will bring up a DOS window. Next type in : rmdir /? This will bring you the available options.
Now that we have defined what will go into the .bet file, let's actually create the .bat file:
<!--- generate a .BAT file for later execution --->
<cffile action="WRITE" file="#expandPath(".")#\delete.bat" output="#tString#">
Ok, at this point you have defined the path, the bat file and the commend calls for the .bat file, at this point let's execute it withing ColdFusion:
<!--- Now execute the file to delete everything (Folder and all sub-folders and files)--->
<cfexecute name="#expandPath(".")#\delete.bat" timeout="60"></cfexecute>
Now just to clean things up, let's delete the .bet file. (this step is optional, I just like to clean up after myself :)
<!--- now delete the bat file --->
<cffile action="DELETE" file="#expandPath(".")#\delete.bat">
That is it, that is all you need to do to delete an entire folder and all associated files (sub-folders) beneath it.
Entire code base example
<cfset tDirectory = "C:\myFolder\"> <!--- this can be passed in a varaible or whatever --->
<cfset tString ="RMDIR /S /Q " & tDirectory> <!--- This is what we will put in the bat file --->
<!--- generate a .BAT file for later execution --->
<cffile action="WRITE" file="#expandPath(".")#\delete.bat" output="#tString#">
<!--- Now execute the file to delete everything (Folder and all sub-folders and files)--->
<cfexecute name="#expandPath(".")#\delete.bat" timeout="60"></cfexecute>
<!--- now delete the bat file --->
<cffile action="DELETE" file="#expandPath(".")#\delete.bat">
All files and directories have been removed. |
I hope this help you overcome your challenges of deleting multiple files and folders at the same time! If you have any questions or comments let me know!
-
A brief demonstration of Fusebox 2.0
This is a brief demonstration on how to use Fusebox 2.0 Methodology.
Author: Pablo Varando
Views: 21,366
Posted Date: Friday, September 6, 2002
-
A quick intro into the world of Custom Tags!
The following tutorial will briefly touch over Custom Tags and show you what they are, how you use them, and how they benfit you by using them.
Author: Pablo Varando
Views: 25,330
Posted Date: Friday, September 6, 2002
-
A Simple Contact Us Page….
Learn how to create a contact page in ColdFusion.
Author: Pablo Varando
Views: 35,318
Posted Date: Tuesday, August 13, 2002
-
Alternating Row Colors!
This tutorial will demonstrate how to alternate row colors when outputing your data.
Author: Pablo Varando
Views: 34,978
Posted Date: Tuesday, September 17, 2002
-
Automatically Adding Smiles To Your Messages!
This tutorial will show you how you can add smiles to your messages on the fly!
Author: Pablo Varando
Views: 23,420
Posted Date: Tuesday, October 29, 2002
-
CaSe SensitiVe password logins!
This tutorial will demonstrate how to verify users passwords to be CaSe SensiTive so add another layer of security to your applications!
Author: Pablo Varando
Views: 51,894
Posted Date: Wednesday, February 5, 2003
-
Changing the form submission page on the fly!
This tutorial is not ColdFusion oriented, but covers a great trick to allow you to submit a single form to a variety of different pages on the fly.
Author: Pablo Varando
Views: 18,045
Posted Date: Monday, December 1, 2003
-
Clearing your session variables!
This tutorial will demonstrate how to clear your applications sessions variables with just three lines of code!
Author: Pablo Varando
Views: 28,159
Posted Date: Friday, October 4, 2002
-
ColdFusion and .INI Files!
This tutorial will demonstrate how to use .INI files with ColdFusion. Perfect for users wishing to create administration areas for existing software titles that are INI file driven (i.e. FTP Servers).
Author: Pablo Varando
Views: 21,930
Posted Date: Friday, October 4, 2002
-
Combining two queries into one..
This tutorial will demonstrate how to create a query from two different queries based from two separate datasources. This is the easiest way to combine your data.
Author: Pablo Varando
Views: 22,595
Posted Date: Monday, March 10, 2003
-
Correct Content (document) serving!
This tutorial will demonstrate how to correctly serve documents via ColdFusion and allow you to correctly name the download as you see fit!
Author: Pablo Varando
Views: 16,360
Posted Date: Tuesday, February 10, 2004
-
Count Active Users On Your Site.
Have you ever wanted to display a count of how many people are on your web site at any given moment? This tutorial will demonstrate to you how to achieve just that. It will count your web site's active sessions and allow you to display them to your visitors.
Author: Pablo Varando
Views: 32,123
Posted Date: Sunday, August 25, 2002
-
Creating a file content crawler with ColdFusion....
This tutorial will show you how to make a file content crawler with ColdFusion to find specified documents in a folder and its children folders. (Similar to find files or folder in Windows(c) Operating Systems 'find' feature).
Author: Pablo Varando
Views: 27,729
Posted Date: Saturday, July 19, 2003
-
Creating a Newsletter System....
This tutorial will show you how to create a fully automated system to allow visitors to subscribe and unsubscribe to your newsletter, and for administrators to send out a newsletter to all the registered users.
Author: Pablo Varando
Views: 31,157
Posted Date: Friday, September 6, 2002
-
Creating a user athentication (Login) area.
This tutorial will demonstrate how you can create a "member's only" area. It will show you how to log them in and how to check that they are logged in.
Author: Pablo Varando
Views: 79,222
Posted Date: Monday, August 19, 2002
-
Creating an ODBC Connection within ColdFusion MX Server...
This tutorial will show you how to create an ODBC (Database) connection from within your ColdFusion MX Administration Area.
Author: Pablo Varando
Views: 31,693
Posted Date: Monday, January 6, 2003
-
Creating your very own RSS XML Feeds with ColdFusion MX!
Have you ever wanted to create your very own RSS XML News Feeds? This tutorial will show you how to create an RSS feed that will allow you to syndicate your web site and allow the world to easily use your data!
Author: Pablo Varando
Views: 31,900
Posted Date: Thursday, January 15, 2004
-
Creating, Altering and Deleting database tables with ColdFusion.
This tutorial will show you how to create, modify and delete database tables easily with ColdFusion.
Author: Pablo Varando
Views: 27,587
Posted Date: Monday, October 14, 2002
-
Delete files and folders in a specified path!
This tutorial will demonstrate how you can delete all files and sub-folders in a specified folder using ColdFusion and Windows!
Author: Pablo Varando
Views: 17,463
Posted Date: Wednesday, September 7, 2005
-
Delete Records From Your Database With ColdFusion!
This tutorial will demonstrate how to delete records from a database via your website using ColdFusion.
Author: Pablo Varando
Views: 27,314
Posted Date: Friday, July 4, 2003
-
Do you want to remember your members?
This tutorial will show you how to you can provide your members with the ability to save their username and password into memory, so they dont have to type it in everytime the want to log in to your web site.
Author: Pablo Varando
Views: 23,622
Posted Date: Tuesday, May 13, 2003
-
DSNLess Coldfusion?
Learn how to create database connection, by skipping the old ODBC connections with ColdFusion.
Author: Pablo Varando
Views: 25,297
Posted Date: Friday, August 16, 2002
-
Dynamic Last Date Modified?
This tutorial will demonstrate how to display the date a web page was last modified to your visitors dynamically.
Author: Pablo Varando
Views: 14,620
Posted Date: Monday, April 12, 2004
-
Get A Folder Size Using ColdFusion and FSO...
This tutorial will demonstrate how you can get the size of a folder (and sub folders) using ColdFusion and Windows File System Object (FSO).
Author: Pablo Varando
Views: 20,125
Posted Date: Tuesday, April 8, 2003
-
Having Your Database Do The Work… not ColdFusion!
This tutorial will demonstrate how you can use the functions that come built in on your database to do the work, instead of doing the work in your code the hard way!
Author: Pablo Varando
Views: 28,105
Posted Date: Thursday, August 8, 2002
-
Implementing FORM Error Checking On Your Pages!
This tutorial will show you two two ways you can implement error checking, to ensure that your users are actually entering the required fields on your forms!
Author: Pablo Varando
Views: 21,775
Posted Date: Wednesday, October 16, 2002
-
Inserting data into a database
This tutorial will show you how to insert data into a database, then have that information emailed to you and the person submitting the data.
Author: Pablo Varando
Views: 40,985
Posted Date: Thursday, August 1, 2002
-
Inserting FORM data into multiple database tables!
This tutorial will demonstrate how you can use one form a user fills out to insert into multiple database tables.
Author: Pablo Varando
Views: 25,969
Posted Date: Tuesday, October 15, 2002
-
Preventing People From Leeching Your Images!
This tutorial will show you how to load your images from an actual .cfm page. Therefore, allowing you to prevent people from using your content on their web sites.
Author: Pablo Varando
Views: 29,916
Posted Date: Friday, March 14, 2003
-
Previous / Next n Records
This tutorial demonstrate how to implement "Previous" & "Next" into your existing results page.
Author: Pablo Varando
Views: 33,424
Posted Date: Tuesday, September 17, 2002
-
Print your web pages on the fly!
This tutorial will demonstrate how use ColdFusion, Javascript and Style sheets to create the perfect Printing Machine! ;)
Author: Pablo Varando
Views: 26,827
Posted Date: Sunday, December 15, 2002
-
Processing XML/RSS feeds with ColdFusion MX
This tutorial will show you how to parse XML files (RSS Feeds) with ColdFusion MX and it uses an EasyCFM.COM Feed for example [Feed: 5 Most Viewed Tutorials]. It shows you how to call it via CFHTTP all the way to parse and display your records!
Author: Pablo Varando
Views: 26,854
Posted Date: Saturday, December 27, 2003
-
Reading your IIS Log Files with ColdFusion!
This tutorial will show you how you can parse through your IIS (web server) log files and insert the values into a database, therefore allowin you to display real-time stats to your visitors (i.e hits this week, etc..)
Author: Pablo Varando
Views: 30,099
Posted Date: Monday, November 4, 2002
-
Retrieving Records From a Database..
This is the basics of ColdFusion. This tutorial will demonstrate how to query a database and then display the records found.
Author: Pablo Varando
Views: 32,932
Posted Date: Saturday, August 3, 2002
-
Sending multiple attachments with CFMAIL!
This tutorial will demonstrate how to send out multiple attachments with .
Author: Pablo Varando
Views: 36,245
Posted Date: Friday, October 11, 2002
-
User Defined Functions....
Learn how to use User-Defined Functions in ColdFusion 5.0.
Author: Pablo Varando
Views: 19,985
Posted Date: Wednesday, August 21, 2002
-
Using <CFPOP> and creating an email client for POP3 Email Reading!
This tutorial will show you how to create a mail system for your site. It will allow you to get your email from a POP3 server, view your inbox, then view the message (with attachments), reply and delete that message as well.
Author: Pablo Varando
Views: 29,615
Posted Date: Thursday, November 7, 2002
-
Using Arrays in ColdFusion To Properly Display Data....
This tutorial will show you how to use arrays to display data properly in ColdFusion.
Author: Pablo Varando
Views: 25,965
Posted Date: Monday, October 28, 2002
-
Using CFRegistry to Add Your IP To CF Debug IP List!
This tutorial is intended to show you how to use the ColdFusion tag <CFRegistry>. This tutorial will show you how to add your current IP to the IP Debug List in the ColdFusion Administrator.
Author: Pablo Varando
Views: 24,554
Posted Date: Wednesday, November 6, 2002
-
Using PayPal's IPN with ColdFusion!
This tutorial will demonstrate how to implement the PayPal IPN (Instant Payment Notification) into your e-commerce applications to accept credit cards in real time!
Author: Pablo Varando
Views: 64,567
Posted Date: Wednesday, September 25, 2002
-
Using Query String Values....
This tutorial will demonstrate how to use query string values instead of form values.
Author: Pablo Varando
Views: 36,350
Posted Date: Sunday, September 15, 2002
-
What is the ID for the record I just inserted?
This tutorial will demonstrate how you can get the ID of the record you have just inserted without having to connect to the database again!
Author: Pablo Varando
Views: 22,488
Posted Date: Monday, August 11, 2003