diff --git a/README.md b/README.md index c1419679..70f472a4 100644 --- a/README.md +++ b/README.md @@ -203,6 +203,7 @@ Mega Collection of PowerShell Scripts | [get-sha1.ps1](scripts/get-sha1.ps1) | Prints the SHA1 checksum of the given file. [Read more...](docs/get-sha1.md) | | [get-sha256.ps1](scripts/get-sha256.ps1) | Prints the SHA256 checksum of the given file. [Read more...](docs/get-sha256.md) | | [inspect-exe.ps1](scripts/inspect-exe.ps1) | Prints basic information of the given executable file. [Read more...](docs/inspect-exe.md) | +| [install-fonts.ps1](scripts/install-fonts.ps1) | installs fonts and updates the registry. [Read more...](docs/install-fonts.md) | | [list-dir-tree.ps1](scripts/list-dir-tree.ps1) | Lists the directory tree content. [Read more...](docs/list-dir-treep.md) | | [list-empty-dirs.ps1](scripts/list-empty-dirs.ps1) | Lists empty subfolders within the given directory tree. [Read more...](docs/list-empty-dirs.md) | | [list-empty-files.ps1](scripts/list-empty-files.ps1) | Lists empty files within the given directory tree. [Read more...](docs/list-empty-files.md) | diff --git a/docs/install-fonts.md b/docs/install-fonts.md new file mode 100644 index 00000000..e40075bb --- /dev/null +++ b/docs/install-fonts.md @@ -0,0 +1,54 @@ +The *install-fonts.ps1* Script +=========================== + +install-fonts.ps1 [[-sourceFolder] ] + + +Parameters +---------- +```powershell + + +[] + This script supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, + WarningVariable, OutBuffer, PipelineVariable, and OutVariable. +``` + +Script Content +-------------- +```powershell +param( + [string]$sourceFolder = "" +) + +# If no parameter is given, prompt the user for the source folder +if (-not $sourceFolder) { + $sourceFolder = Read-Host "Please enter the path to the source folder" +} + +# Set the destination folder for fonts, you don't need to change this +$fontsFolder = "$env:SystemRoot\Fonts" + +# Get all font files from the source folder +$fontFiles = Get-ChildItem -Path $sourceFolder -Filter *.ttf + +foreach ($font in $fontFiles) { + # Copy font files to the Fonts folder + $destination = "$fontsFolder\$($font.Name)" + Copy-Item -Path $font.FullName -Destination $destination -Force + + # Add font to registry + $fontName = [System.IO.Path]::GetFileNameWithoutExtension($font.Name) + $fontRegistryPath = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" + + # For TrueType fonts + $fontType = "TrueType" + + # Add the registry entry + New-ItemProperty -Path $fontRegistryPath -Name "$fontName ($fontType)" -PropertyType String -Value $font.Name -Force +} + +Write-Output "Fonts have been installed successfully." +``` + +*(page generated by convert-ps2md.ps1 as of 01/29/2025 20:04:23)* \ No newline at end of file diff --git a/scripts/install-fonts.ps1 b/scripts/install-fonts.ps1 new file mode 100644 index 00000000..c65d14b2 --- /dev/null +++ b/scripts/install-fonts.ps1 @@ -0,0 +1,32 @@ +param( + [string]$sourceFolder = "" +) + +# If no parameter is given, prompt the user for the source folder +if (-not $sourceFolder) { + $sourceFolder = Read-Host "Please enter the path to the source folder" +} + +# Set the destination folder for fonts, you don't need to change this +$fontsFolder = "$env:SystemRoot\Fonts" + +# Get all font files from the source folder +$fontFiles = Get-ChildItem -Path $sourceFolder -Filter *.ttf + +foreach ($font in $fontFiles) { + # Copy font files to the Fonts folder + $destination = "$fontsFolder\$($font.Name)" + Copy-Item -Path $font.FullName -Destination $destination -Force + + # Add font to registry + $fontName = [System.IO.Path]::GetFileNameWithoutExtension($font.Name) + $fontRegistryPath = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" + + # For TrueType fonts + $fontType = "TrueType" + + # Add the registry entry + New-ItemProperty -Path $fontRegistryPath -Name "$fontName ($fontType)" -PropertyType String -Value $font.Name -Force +} + +Write-Output "Fonts have been installed successfully."