How to Find and Fix Broken Shortcuts in Windows
The Complete Guide to a Clean Desktop and Start Menu
📋 Article Contents
🔍 What are "Broken" Shortcuts?
Shortcuts act as bridges that connect your desktop or menus to the programs, files, and folders you use most often. A "broken" shortcut occurs when that bridge doesn't lead anywhere—that is, the program, file, or folder the shortcut was looking for has been deleted, moved, or renamed.
On a practical level, when you double-click a broken shortcut, Windows usually displays an error message like "File not found" or "Shortcut not working." This can be confusing, especially if you have a lot of shortcuts on your desktop or Start Menu.
Why Does This Happen?
- Uninstalling programs: When you delete a program, sometimes its shortcuts are left behind on the desktop or in the Start Menu, no longer having a destination.
- Moving or renaming files: If you moved or renamed a file or folder, the old shortcut doesn't know where to find it and becomes "broken".
- Program updates: Some updates change the location or name of program files, rendering old shortcuts useless.
- Errors or deletions from the system: Sometimes, accidentally or due to cleaning applications, files associated with shortcuts are deleted or moved.
In short, broken shortcuts are a sign that your desktop needs some tidying up. If you ignore them, you can end up cluttering your desktop with "dead" shortcuts, making it harder to access your truly useful programs.
🛠️ How to Find Broken Shortcuts
The Manual Way
💡 How to Use Scripts
Here are simple instructions for using PowerShell and .bat tools to find and delete broken shortcuts on your computer. Even if you have no experience with coding, these steps are safe and easy.
The Smart Way with PowerShell
1. Open PowerShell: click Windows + S, write PowerShell and chose Windows PowerShell.
2. Copy the script below and paste it into PowerShell.
$shell = New-Object -ComObject WScript.Shell
$shortcuts = Get-ChildItem -Path "$env:USERPROFILE\Desktop" -Filter *.lnk
foreach ($shortcut in $shortcuts) {
$target = $shell.CreateShortcut($shortcut.FullName).TargetPath
if (-not (Test-Path $target)) {
Write-Host "Σπασμένη συντόμευση: $($shortcut.Name)" -ForegroundColor Red
}
}
3. Press Enter. PowerShell will display which shortcuts are broken on your desktop.
🧹 How to Fix the Problem
In this section, we will see how you can find and delete broken shortcuts on your computer using PowerShell or .bat scripts. Even if you are inexperienced, the steps are safe and simple.
1️⃣ Method 1: Simple Delete
This is the manual way to check which shortcuts are not working:
Automatic Cleanup with PowerShell
If you want to delete broken shortcuts automatically, use the script below. Follow the same steps: open PowerShell, paste the script, and press Enter.
$shell = New-Object -ComObject WScript.Shell
$desktop = "$env:USERPROFILE\Desktop"
$shortcuts = Get-ChildItem -Path $desktop -Filter *.lnk
foreach ($shortcut in $shortcuts) {
$target = $shell.CreateShortcut($shortcut.FullName).TargetPath
if (-not (Test-Path $target)) {
Remove-Item $shortcut.FullName -Force
Write-Host "Διαγράφηκε: $($shortcut.Name)" -ForegroundColor Yellow
}
}
Clean Start Menu
If you want to clear the shortcuts from the Start Menu as well, use this script in the same way as above.
$shell = New-Object -ComObject WScript.Shell
$startMenu = "$env:APPDATA\Microsoft\Windows\Start Menu\Programs"
$shortcuts = Get-ChildItem -Path $startMenu -Recurse -Filter *.lnk
foreach ($shortcut in $shortcuts) {
$target = $shell.CreateShortcut($shortcut.FullName).TargetPath
if (-not (Test-Path $target)) {
Remove-Item $shortcut.FullName -Force
Write-Host "Διαγράφηκε από Start Menu: $($shortcut.Name)" -ForegroundColor Green
}
}
The Easiest Way with .bat Script
If you don't want to open PowerShell, you can use the following .bat script, which works 100% on all English versions of Windows.
1. Open Notepad.
2. Copy the entire script below and save it as cleanup-shortcuts.bat.
3. Run it by double-clicking.
4. It will ask for confirmation before deleting each broken shortcut and at the end it will show how many were deleted.
@echo off
chcp 65001 > nul
setlocal enabledelayedexpansion
echo ==============================
echo Cleaning Broken Shortcuts
echo ==============================
rem ---- Desktop ----
set desktopDir=%USERPROFILE%\Desktop
set desktopCount=0
if exist "%desktopDir%" (
for %%F in ("%desktopDir%\*.lnk") do (
powershell -NoProfile -Command ^
"$s=New-Object -ComObject WScript.Shell; $t=$s.CreateShortcut('%%~fF').TargetPath; if (-not(Test-Path $t) -and $t -ne ''){exit 1}else{exit 0}" >nul
if errorlevel 1 (
set /p confirm="Broken Desktop shortcut: %%~nxF — delete? (y/n) "
if /I "!confirm!"=="y" (
del "%%~fF"
set /a desktopCount+=1
)
)
)
)
rem ---- Start Menu (User) ----
set startMenuUser=%APPDATA%\Microsoft\Windows\Start Menu\Programs
set startCount=0
if exist "%startMenuUser%" (
for /R "%startMenuUser%" %%F in (*.lnk) do (
powershell -NoProfile -Command ^
"$s=New-Object -ComObject WScript.Shell; $t=$s.CreateShortcut('%%~fF').TargetPath; if (-not(Test-Path $t) -and $t -ne ''){exit 1}else{exit 0}" >nul
if errorlevel 1 (
set /p confirm="Broken Start Menu shortcut: %%~nxF — delete? (y/n) "
if /I "!confirm!"=="y" (
del "%%~fF"
set /a startCount+=1
)
)
)
)
rem ---- Start Menu (All Users) ----
set startMenuAll=C:\ProgramData\Microsoft\Windows\Start Menu\Programs
if exist "%startMenuAll%" (
for /R "%startMenuAll%" %%F in (*.lnk) do (
powershell -NoProfile -Command ^
"$s=New-Object -ComObject WScript.Shell; $t=$s.CreateShortcut('%%~fF').TargetPath; if (-not(Test-Path $t) -and $t -ne ''){exit 1}else{exit 0}" >nul
if errorlevel 1 (
set /p confirm="Broken Start Menu shortcut (All Users): %%~nxF — delete? (y/n) "
if /I "!confirm!"=="y" (
del "%%~fF"
set /a startCount+=1
)
)
)
)
echo ----------------------------------
echo Desktop deleted: %desktopCount%
echo Start Menu deleted: %startCount%
pause
✅ The script is completely safe and works without errors on Greek and English Windows.
💻 Free Tools for Broken Shortcuts
If you want a reliable and free solution to detect and clean broken shortcuts, we recommend ShortcutsMan by NirSoft. It's portable, doesn't require installation, and scans your desktop and Start Menu to show you which shortcuts are working and which are broken. You can delete or fix them with a few clicks. Perfect for beginners and advanced users alike.
- ShortcutsMan: It scans your desktop and Start Menu, showing you which shortcuts are broken or valid. You can safely delete or fix them. See more and download the tool
How to Use ShortcutsMan
Follow these steps to check and clean up your broken shortcuts:
• Portable and no installation required
• Scans the entire desktop and Start Menu
• Shows which shortcuts are broken
• Secure deletion or correction
• Ideal for beginners
🚀 Prevention for the Future
To avoid problems with broken shortcuts again, it's important to adopt some simple but effective habits:
- Take care of the uninstallation: Every time you delete a program, make sure to also remove any shortcuts left behind on the desktop or in the Start Menu.
- Organize the files: Try to keep your files in well-organized folders and don't move them around constantly. If you need to change the location of a file, update the corresponding shortcuts as well.
- Regular cleaning: Do a quick check of your desktop and Start Menu once a month. It's easier to deal with a few problems than to deal with hundreds later.
❓ Frequently Asked Questions
Is it safe to use these codes?
Absolutely! The codes we provide simply check and delete shortcuts, they do not affect your programs or files themselves.
What Do I Do If I Deleted Something by Mistake?
Don't worry. If you accidentally delete a shortcut, the program or file remains intact. You can create a new shortcut by right-clicking → "Create Shortcut".
How Often Should I Clean?
If you install and uninstall programs frequently, a weekly check is ideal. Otherwise, once a month is enough.
✨ Conclusion
Broken shortcuts may seem like a small problem, but over time they can make your desktop and Start Menu unusable. With the tools and methods you've seen, you can keep your system clean and organized.
Loading comments...