You may start your script as a job.
start-job -scriptblock {. Pathofyourscript.ps1}
Then stop the job if CTRL+C is pressed:
[console]::TreatControlCAsInput = $true
while ($true) {
Start-Sleep -s 30
if ([console]::KeyAvailable) {
$key = [system.console]::readkey($true)
if (($key.modifiers -band [consolemodifiers]"control") -and ($key.key -eq "C")) { "Terminating..." }
}
get-job | stop-job
break
}
}
}