From e1951f0089cb7fe81dab52544f5896702bb7863e Mon Sep 17 00:00:00 2001 From: Markus Fleschutz Date: Wed, 14 Apr 2021 13:40:04 +0200 Subject: [PATCH] Add download-file.ps1 and download-dir.ps1 --- Data/scripts.csv | 3 ++- README.md | 3 ++- Scripts/download-dir.ps1 | 24 +++++++++++++++++++++ Scripts/{download.ps1 => download-file.ps1} | 7 +++--- 4 files changed, 32 insertions(+), 5 deletions(-) create mode 100755 Scripts/download-dir.ps1 rename Scripts/{download.ps1 => download-file.ps1} (72%) diff --git a/Data/scripts.csv b/Data/scripts.csv index 7bcd8ba8..11f6bf69 100644 --- a/Data/scripts.csv +++ b/Data/scripts.csv @@ -37,7 +37,8 @@ create-tag.ps1, creates a new tag in the current/given Git repository daily-tasks.sh, execute PowerShell scripts automatically as daily tasks (Linux only) decrypt-file.ps1, decrypts the given file display-time.ps1, displays the current time for 10 seconds by default -download.ps1, downloads the file/directory from the given URL +download-dir.ps1, downloads a directory tree from the given URL +download-file.ps1, downloads a file from the given URL edit.ps1, edits the given file with the built-in text editor enable-crash-dumps.ps1, enables the writing of crash dumps enable-god-mode.ps1, enables the god mode (adds a new icon to the desktop) diff --git a/README.md b/README.md index af213d24..b6d51990 100644 --- a/README.md +++ b/README.md @@ -91,7 +91,8 @@ Mega Collection of PowerShell Scripts * [create-shortcut.ps1](Scripts/create-shortcut.ps1) - creates a shortcut * [create-symlink.ps1](Scripts/create-symlink.ps1) - creates a symbolic link * [decrypt-file.ps1](Scripts/decrypt-file.ps1) - encrypts the given file -* [download.ps1](Scripts/download.ps1) - downloads the file/directory from the given URL +* [download-dir.ps1](Scripts/download-dir.ps1) - downloads a directory tree from the given URL +* [download-file.ps1](Scripts/download-file.ps1) - downloads a file from the given URL * [edit.ps1](Scripts/edit.ps1) - edits the given file with the built-in text editor * [encrypt-file.ps1](Scripts/encrypt-file.ps1) - encrypts the given file * [go-downloads.ps1](Scripts/go-downloads.ps1) - go to the user's downloads folder diff --git a/Scripts/download-dir.ps1 b/Scripts/download-dir.ps1 new file mode 100755 index 00000000..0e1db9ef --- /dev/null +++ b/Scripts/download-dir.ps1 @@ -0,0 +1,24 @@ +#!/usr/bin/pwsh +<# +.SYNTAX download-dir.ps1 [] +.DESCRIPTION downloads a directory tree from the given URL +.LINK https://github.com/fleschutz/PowerShell +.NOTES Author: Markus Fleschutz / License: CC0 +#> + +param($URL = "") +if ($URL -eq "") { $URL = read-host "Enter directory URL to download" } + +try { + & wget --version + if ($lastExitCode -ne "0") { throw "Can't execute 'wget' - make sure wget is installed and available" } + + & wget --mirror --convert-links --adjust-extension --page-requisites --no-parent $URL --directory-prefix . --no-verbose + if ($lastExitCode -ne "0") { throw "Can't execute 'wget --mirror $URL'" } + + write-host -foregroundColor green "OK - directory downloaded from $URL" + exit 0 +} catch { + write-error "ERROR: line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])" + exit 1 +} diff --git a/Scripts/download.ps1 b/Scripts/download-file.ps1 similarity index 72% rename from Scripts/download.ps1 rename to Scripts/download-file.ps1 index df69aa70..e149df03 100755 --- a/Scripts/download.ps1 +++ b/Scripts/download-file.ps1 @@ -1,12 +1,13 @@ #!/usr/bin/pwsh <# -.SYNTAX download.ps1 [] -.DESCRIPTION downloads the file/directory from the given URL +.SYNTAX download-file.ps1 [] +.DESCRIPTION downloads a file from the given URL .LINK https://github.com/fleschutz/PowerShell .NOTES Author: Markus Fleschutz / License: CC0 #> param($URL = "") +if ($URL -eq "") { $URL = read-host "Enter file URL to download" } try { & wget --version @@ -15,7 +16,7 @@ try { & wget --mirror --convert-links --adjust-extension --page-requisites --no-parent $URL --directory-prefix . --no-verbose if ($lastExitCode -ne "0") { throw "Can't execute 'wget --mirror $URL'" } - write-host -foregroundColor green "OK - downloaded from $URL" + write-host -foregroundColor green "OK - file downloaded from $URL" exit 0 } catch { write-error "ERROR: line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"