diff options
Diffstat (limited to 'macros/latex/contrib/thorshammer/system-scripts/standalone/cpquizzes.ps1')
-rw-r--r-- | macros/latex/contrib/thorshammer/system-scripts/standalone/cpquizzes.ps1 | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/macros/latex/contrib/thorshammer/system-scripts/standalone/cpquizzes.ps1 b/macros/latex/contrib/thorshammer/system-scripts/standalone/cpquizzes.ps1 new file mode 100644 index 0000000000..04e5026655 --- /dev/null +++ b/macros/latex/contrib/thorshammer/system-scripts/standalone/cpquizzes.ps1 @@ -0,0 +1,51 @@ +# This script copies PDFs from the $startLocations to $destPath, but only +# if in a $baseName folder +$baseName="_Thor" +$classPath="C:\Users\dpstory\Desktop\Test Folder\target\myClass" +$destPath="C:\Users\dpstory\Desktop\Test Folder\target\_Thor\grade" +# Strip-and-Trim function +# Remove everything to the left of a comment character, then trim +function Strip-and-Trim { + param([string]$str) + $pos=$str.IndexOf("#") + If($pos -ne -1) { + $str=$str.substring(0,$pos) + } + $str=$str.trim() + return $str +} +# vars +$startLocations=@($classPath) +Write-Host "" +if(Test-Path -Path ./altclasspaths.txt) { + get-content ./altclasspaths.txt | %{ + $str= Strip-and-Trim($_) + if($str) { + Write-Host "Reading alternate path: $str" + $startLocations+=$str + } + } +} +$instrDest="$PWD\fromStudents" +# +# script starts here +# +$currentPath=Convert-Path . +foreach ($startLocation in $startLocations) { + Set-Location $startLocation + $numCopied=0 + Write-Host "`nCopying any PDFs files from within a `"$baseName`" subfolder of ` +`"$startLocation`" to ` +`"$instrDest`"" + Get-ChildItem -Path . -Filter "*.pdf" -Recurse | + Where-Object { $_.DirectoryName -match $baseName } -OutVariable fileName | + Copy-Item -Destination $destPath + if ($fileName.Name -eq $null) {Write-Host "`nNo files to copy"} + else { + Write-Host "`nReport:" + $numCopied=$fileName.Name.Count + $fileName.Name + } + Write-Host @( Get-ChildItem $PWD ).Count "folders examined, $numCopied files copied" + cd $currentPath +} |