summaryrefslogtreecommitdiff
path: root/texmf-dist/doc/latex/thorshammer/system-scripts/standalone/cpquizzes.ps1
diff options
context:
space:
mode:
Diffstat (limited to 'texmf-dist/doc/latex/thorshammer/system-scripts/standalone/cpquizzes.ps1')
-rw-r--r--texmf-dist/doc/latex/thorshammer/system-scripts/standalone/cpquizzes.ps151
1 files changed, 51 insertions, 0 deletions
diff --git a/texmf-dist/doc/latex/thorshammer/system-scripts/standalone/cpquizzes.ps1 b/texmf-dist/doc/latex/thorshammer/system-scripts/standalone/cpquizzes.ps1
new file mode 100644
index 00000000..04e50266
--- /dev/null
+++ b/texmf-dist/doc/latex/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
+}