Con questo script PowerShell è possibile fare il backup zippato di una cartella di progetto NodeJs, React, Angular e simili escludendo la cartella node_midules.

File: backup.ps1
#Sgart.it - backup file su OneDrive zippato

#specificare il percorso base di destinazione
$basePath ="C:\OneDrive";

#come sorgente prende la directory corrente ($PWD)
$path = (Get-Item $PWD).Parent.FullName.substring(3)
#usa il nome della cartella e la data corrente come nome file
$name = (Get-Item $PWD).Name
$date = Get-Date -Format "yyyy-MM-dd-HH-mm"

#il path di destinazione satà simile al path di origine ($pwd)
#ma con una radice diversa ($basePath) e l'aggiunta della data
#ad esempio se la cartella sorgente è d:\PROJECTS\ReactJs\sgart-react
#il file zip di destinazione sarà: C:\OneDrive\PROJECTS\ReactJs\sgart-react_2017-11-19-23-38.zip
$destinationPath = "$basePath\$path\$($name)_$date.zip";

write-host $destinationPath

Get-ChildItem -Exclude node_modules | Compress-Archive -DestinationPath $destinationPath

lo script esegue lo zip (Compress-Archive) della cartella corrente e la salva del file di destinazione, calcolato come: percorso base ($basePath) + percorso di origine senza la root ($path) + node della directory corrente ($name) + data corrente ($date) + estensione .zip.

Viene salvato tutto il contenuto della directory corrente tranne la cartella node_modules (parametro -Exclude).