One of the first configurations I always set on my test Windows Server instances is to show file extensions. This small tweak can significantly improve efficiency and accuracy when working with files, as it eliminates ambiguity about file types.
Why Show File Extensions? Link to heading
By default, Windows hides file extensions for known file types. While this setting is aimed at making the user experience simpler, it can sometimes lead to confusion, especially when dealing with files that have similar names but different extensions. Showing file extensions helps you:
- Identify File Types Quickly: Easily distinguish between files like
file.txt
andfile.bat
. - Enhance Security: Prevent malicious files from masquerading as harmless ones (e.g.,
document.txt.exe
appearing asdocument.txt
). - Simplify File Management: Manage and organize files more effectively, especially when working with scripts, configurations, and multiple file types.
How to Make File Extensions Visible Link to heading
You can configure this setting manually via File Explorer, but as an automation enthusiast, I prefer using PowerShell to make this change. Here’s a simple PowerShell script that modifies the registry to ensure file extensions are always visible.
PowerShell Script Link to heading
<#
.SYNOPSIS
This script configures Windows to show file extensions.
.DESCRIPTION
The script modifies the registry to ensure that file extensions are not hidden in File Explorer.
.NOTES
Run this script with administrative privileges.
#>
# Define the registry path and value name
$registryPath = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"
$valueName = "HideFileExt"
$valueData = 0 # 0 to show file extensions, 1 to hide
# Set the registry value
Set-ItemProperty -Path $registryPath -Name $valueName -Value $valueData
# Notify the user
Write-Output "File extensions are now configured to be visible."
Explanation Link to heading
- Registry Path and Value: The registry path for the setting is
HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
. The value name isHideFileExt
, and setting its data to0
makes file extensions visible. - Set-ItemProperty: The script uses
Set-ItemProperty
to change the registry value. - Output Notification: The script outputs a message indicating that the configuration has been changed.
Steps to Run the Script Link to heading
- Save the Script: Save the script as
show_file_extensions.ps1
. - Run the Script:
- Open PowerShell as Administrator.
- Navigate to the location where you saved the script.
- Execute the script:
.\show_file_extensions.ps1
Conclusion Link to heading
Setting file extensions to be visible is a simple yet powerful configuration that I always implement on my test Windows Server instances. It enhances file management, improves security, and makes life a bit easier for developers and administrators alike. By using PowerShell to automate this task, you can ensure consistency and save valuable time.
Emmanuel Tsouris is a Systems Development Manager working in the cloud, with extensive experience in cloud platforms, enterprise management, and automation. In his spare time, he enjoys hiking, biking, cooking, photography, and developing software. For more insights and tips, visit emmanueltsouris.com.