Below is a simple PowerShell code that will move, list or copy files on a specific date.
Assign or change specific date on $xCompareDate to any desired date.
Of course, PowerShell has option also to move, list or copy files older or greater than x days.
But if there is a need to have a specific date, this script will come handy.
#===============
$xfile = Get-ChildItem -Path d:\Logs -File |
#Get the full path, file name and the creation time of the file
Select-Object FullName, CreationTime |
Where-Object {
#convert the creation time to string to compare dates
$xfile = $_.CreationTime.Date.Month.ToString() + "/" + ($_.CreationTime).Date.day.ToString() + "/" + ($_.CreationTime).Date.year.ToString()
$xCompareDate= "10/21/2014"
#conditional statement if files are equal to the date compared
#then do something if the same
if ($xfile -eq $xCompareDate) {
#Display or list the full path and the filename
#for files that will match the date specified on xCompareDate variable
write-host $_.FullName
#or move the files that match with the date compared
#move-item $_.FullName D:\ArchiveFolder
#to copy files
#copy-item $_.FullName D:\Any_Path_Location
}
}
#===============
To move, list or copy files for a whole month.
For example need to copy the files for the whole October.
A for loop on the $xCompareDate, should do the trick.
Here's the revised code snippet:
#===============
$xfile = Get-ChildItem -Path d:\Logs -File |
#Get the full path, file name and the creation time of the file
Select-Object FullName, CreationTime |
Where-Object {
#convert the creation time to string to compare dates
$xfile = $_.CreationTime.Date.Month.ToString() + "/" + ($_.CreationTime).Date.day.ToString() + "/" + ($_.CreationTime).Date.year.ToString()
#for loop to increment the date up to the 30th day
$iDate ="30"
for ($i=1; $i-le $iDate; $i++)
{
$varDate= "10/"+$i+"/2014" #$a.ToString().Substring(0,10)
#optional just to check the for loop output
write-host $varDate
#conditional statement if files are equal to the date compared
#then do something if the same
if ($xfile -eq $varDate) {
#Display or list the full path and the filename
#for files that will match the date specified on xCompareDate variable
write-host $_.FullName
#or move the files that match with the date compared
#move-item $_.FullName D:\ArchiveFolder
#to copy files
#copy-item $_.FullName D:\Any_Path_Location
}
}
}
#===============
Uncomment the line to execute the command or cmdlet, if need to use the script for copying uncomment the copy-item.
Cheers!! Hope it helps!!
=================
http://quickbytesstuff.blogspot.sg/2014/09/how-to-recite-rosary.html
Assign or change specific date on $xCompareDate to any desired date.
Of course, PowerShell has option also to move, list or copy files older or greater than x days.
But if there is a need to have a specific date, this script will come handy.
#===============
$xfile = Get-ChildItem -Path d:\Logs -File |
#Get the full path, file name and the creation time of the file
Select-Object FullName, CreationTime |
Where-Object {
#convert the creation time to string to compare dates
$xfile = $_.CreationTime.Date.Month.ToString() + "/" + ($_.CreationTime).Date.day.ToString() + "/" + ($_.CreationTime).Date.year.ToString()
$xCompareDate= "10/21/2014"
#conditional statement if files are equal to the date compared
#then do something if the same
if ($xfile -eq $xCompareDate) {
#Display or list the full path and the filename
#for files that will match the date specified on xCompareDate variable
write-host $_.FullName
#or move the files that match with the date compared
#move-item $_.FullName D:\ArchiveFolder
#to copy files
#copy-item $_.FullName D:\Any_Path_Location
}
}
#===============
To move, list or copy files for a whole month.
For example need to copy the files for the whole October.
A for loop on the $xCompareDate, should do the trick.
Here's the revised code snippet:
#===============
$xfile = Get-ChildItem -Path d:\Logs -File |
#Get the full path, file name and the creation time of the file
Select-Object FullName, CreationTime |
Where-Object {
#convert the creation time to string to compare dates
$xfile = $_.CreationTime.Date.Month.ToString() + "/" + ($_.CreationTime).Date.day.ToString() + "/" + ($_.CreationTime).Date.year.ToString()
#for loop to increment the date up to the 30th day
$iDate ="30"
for ($i=1; $i-le $iDate; $i++)
{
$varDate= "10/"+$i+"/2014" #$a.ToString().Substring(0,10)
#optional just to check the for loop output
write-host $varDate
#conditional statement if files are equal to the date compared
#then do something if the same
if ($xfile -eq $varDate) {
#Display or list the full path and the filename
#for files that will match the date specified on xCompareDate variable
write-host $_.FullName
#or move the files that match with the date compared
#move-item $_.FullName D:\ArchiveFolder
#to copy files
#copy-item $_.FullName D:\Any_Path_Location
}
}
}
#===============
Uncomment the line to execute the command or cmdlet, if need to use the script for copying uncomment the copy-item.
Cheers!! Hope it helps!!
=================
Catholic Rosary Guide for Android:
Pray the Rosary every day, countless blessings will be showered upon your life if you recite the Rosary faithfully.
https://play.google.com/store/apps/details?id=com.myrosaryapp
https://play.google.com/store/apps/details?id=com.myrosaryapp
Comments
Post a Comment