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).