Avatar of Alex
Alex
Flag for United Kingdom of Great Britain and Northern Ireland asked on

Tricky powershell this time

Right,

So I have a function to bring up a date and time


[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing") 

Function Prompt-For-Date
{
Param(  
    [string]$sDatePrompt = "Select a Date"
) #End Param

$script:dtmDate = ''
$objForm = New-Object Windows.Forms.Form 

$objForm.Text = $sDatePrompt
$objForm.Size = New-Object Drawing.Size @(300,300) 
$objForm.StartPosition = "CenterScreen"

$objForm.KeyPreview = $True

$objForm.Add_KeyDown({
    if ($_.KeyCode -eq "Enter") 
        {
            $script:dtmDate = $objCalendar.SelectionStart
            $objForm.Close()
            
        }
    })

$objForm.Add_KeyDown({
    if ($_.KeyCode -eq "Escape") 
        {
            $objForm.Close()
        }
    })

$objCalendar = New-Object System.Windows.Forms.MonthCalendar 
$objCalendar.ShowTodayCircle = $False
$objCalendar.MaxSelectionCount = 1
$objForm.Controls.Add($objCalendar) 

$objForm.Topmost = $True

$objForm.Add_Shown({$objForm.Activate()})  
[void] $objForm.ShowDialog()
return $script:dtmDate


}

$dateReturned = Prompt-For-Date -sDatePrompt "Please Select A Date"
Write-Host "Date:" $dateReturned

Open in new window


I have a bit of code which will pull information

function Copy-SelectedFile
{
    [CmdletBinding()]
    param(
        [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)]
        [ValidateScript({Test-Path -path $_})]
        [string]$SourcePath,

        [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)]
        [string]$DestinationPath,

        [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)]
        [System.Management.Automation.PSCredential]$Credential = (Get-Credential), 

        [parameter(ValueFromPipelineByPropertyName = $true)]
        [datetime]$MinimumAgeTime = ([datetime]::now), 

        [parameter(ValueFromPipelineByPropertyName = $true)]
        [datetime]$MaximumAgeTime
    )

    $Files = Get-ChildItem -Path $SourcePath | Where-Object { $_.LastWriteTime -gt $MinimumAgeTime -and $_.LastWriteTime -lt $MaximumAgeTime}
    
    $Destination = New-Item -Path $DestinationPath -ItemType Directory -Name $MinimumAgeTime.ToString('ddMMyy')
    Copy-Item -Path $Files -Destination $Destination -Credential $Credential -Recurse
}

Open in new window



How the hell do I get my date and time to get pushed into the second bit of code to pull the data off the disk?1?!?!?!?!?!?!?

Any help would be great.

Thanks
Alex
Powershell

Avatar of undefined
Last Comment
Alex

8/22/2022 - Mon
Qlemo

If you want to keep the scripts separate, append
$dateReturned

Open in new window

to the first code, and run something like
. c:\path\to\script\script2.ps1     # imports the function for use
$date = c:\path\to\script\script1.ps1
Copy-SelectedFile -MinimumAgeTime $date -MaximumAgeTime $date.AddDays(1) C:\Test\ D:\Test\

Open in new window

or similar. Note that you need to dates for the function.
Alex

ASKER
There isn't any reason to keep them separate, I just have no idea how to join them... :(
ASKER CERTIFIED SOLUTION
Qlemo

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question
Alex

ASKER
Oh my... oh my.... GOOODNESS!!!!!

Key reference to Boku no hero acadamia...

Thank you, that's perfect.... You... Little... LEGEND!
This is the best money I have ever spent. I cannot not tell you how many times these folks have saved my bacon. I learn so much from the contributors.
rwheeler23