<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://powershell.com/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Search results for 'app:forums' matching tags 'file system', 'Files and Folders', and 'Files'</title><link>http://powershell.com/cs/search/SearchResults.aspx?q=app:forums&amp;tag=file+system,Files+and+Folders,Files&amp;orTags=0&amp;o=DateDescending</link><description>Search results for 'app:forums' matching tags 'file system', 'Files and Folders', and 'Files'</description><dc:language>en-US</dc:language><generator>CommunityServer 2008.5 (Build: 30929.2835)</generator><item><title>Generic script to delete files from a directory</title><link>http://powershell.com/cs/forums/thread/7567.aspx</link><pubDate>Thu, 09 Sep 2010 05:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:7567</guid><dc:creator>goodfth</dc:creator><description>&lt;p&gt;The following is a generic script to delete files from a given directory path passed in as an argument. &amp;nbsp;The script writes out a simple log to the directory from the working directory every time it is run. &amp;nbsp;The script uses a simple switch statement to check for directories that should not&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;##########################################################&lt;/p&gt;
&lt;p&gt;# Script to delete temporary files.&lt;/p&gt;
&lt;p&gt;# Required parameter: -Path (positional too)&lt;/p&gt;
&lt;p&gt;# &amp;nbsp; &amp;nbsp; path of directory containing files to be deleted&lt;/p&gt;
&lt;p&gt;##########################################################&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Param(&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;[Parameter(Position=0, Mandatory=$true)]&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;[string]$path&lt;/p&gt;
&lt;p&gt;)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$rundate = Get-Date&lt;/p&gt;
&lt;p&gt;$logfile = &amp;quot;.\DeleteDirectoryContents.log&amp;quot;&lt;/p&gt;
&lt;p&gt;$msgSuccess = &amp;quot;$rundate - Contents of $path deleted.&amp;quot;&lt;/p&gt;
&lt;p&gt;$msgFailProtected = &amp;quot;$rundate - Path $path contains protected directory. Deletion terminated.&amp;quot;&lt;/p&gt;
&lt;p&gt;$msgPathNotExist = &amp;quot;$rundate - Path $path does not exist.&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;function WriteLog([string]$logentry) {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Out-File -FilePath $logfile -InputObject $logentry -Append&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;$logfile.Close&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;switch -wildcard ($path){&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;# Excludes common directories that should not be deleted&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;quot;C:\&amp;quot; {WriteLog($msgFailProtected); break}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;quot;\&amp;quot; {WriteLog($msgFailProtected); break}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;quot;*.\*&amp;quot; {WriteLog($msgFailProtected); break}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;quot;\\*&amp;quot; {WriteLog($msgFailProtected); break}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;quot;*..\*&amp;quot; {WriteLog($msgFailProtected); break}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;quot;env*&amp;quot; {WriteLog($msgFailProtected); break}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;quot;HK*&amp;quot; {WriteLog($msgFailProtected); break}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;quot;*Win*&amp;quot; {WriteLog($msgFailProtected); break}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;quot;*Program*&amp;quot; {WriteLog($msgFailProtected); break}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;quot;*Users*&amp;quot; {WriteLog($msgFailProtected); break}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;quot;*Inetpub*&amp;quot; {WriteLog($msgFailProtected); break}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;quot;*IIS*&amp;quot; {WriteLog($msgFailProtected); break}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;quot;*Perflogs*&amp;quot; {WriteLog($msgFailProtected); break}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;default {if(Test-Path $path){&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Remove-Item -Path $path\*.* -Recurse -Force; WriteLog($msgSuccess)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else{&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WriteLog($msgPathNotExist)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item></channel></rss>