Clean Start-Cut

Last updated:10 Jan 2022

#Clean Start-Cut

Clean-up Start Menu folder. This program moves almost every of your app shortcut to Start Menu from the program’s folder. You can see the icons of your apps instead of their folder.

Currently, if you want to restore every change this program has already done, you only can do it manually. See the “FAQ” section below.

In short:

  • From: Start Menu >> All Programs >> Program Folder >> Program Shortcut
  • To: Start Menu >> All Programs >> Program Shortcut

Clean Start-Cut on VS Code

Version: 0.5.3

Last Update: 12 Apr 2021, 18:40 GMT+7

View source on GitHub

#Progress

Current Progress:

GitHub Project


#Start Menu folder structure

#Before

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Start Menu
\---Programs
+---AMD Bug Report Tool
| \---AMD Bug Report Tool.lnk
+---AMD Radeon Software
| \---AMD Radeon Software.lnk
+---Anaconda3 (64-bit)
| \---Anaconda3 (64-bit).lnk
+---Backup and Sync from Google
| \---Backup and Sync from Google.lnk
+---CCleaner
| \---CCleaner.lnk
+---Core Temp
| \---Core Temp.lnk
+---CPUID
| +---CPU-Z
| | \---CPU-Z.lnk
| \---HWMonitorPro
| \---HWMonitorPro.lnk
...

#After (a bit unsorted)

1
2
3
4
5
6
7
8
9
10
11
Start Menu
\---Programs
+---AMD Bug Report Tool.lnk
+---AMD Radeon Software.lnk
+---Anaconda3 (64-bit).lnk
+---Backup and Sync from Google.lnk
+---CCleaner.lnk
+---Core Temp.lnk
+---CPU-Z.lnk
+---HWMonitorPro.lnk
...

This is what I’ve done manually. Less click.

I’m expecting this boy would be able to do this properly
Start Menu


#Python Module

  • os
  • ast
  • configparser
  • itertools
  • shutil
  • sys
  • zipfile
  • fuzzywuzzy (You might want to install it manually)

Install FuzzyWuzzy:

pip install fuzzywuzzy or pip3 install fuzzywuzzy

Usually, pip install on Windows and pip3 install on Linux.


#Workflow

  1. Move from default directory to StartDir and get filtered file and folder list

    1
    moveWork(StartDir)
  2. Move all shortcuts available from current directory into “Programs” folder

    1
    moveAll(filesOnCurrentDir, move_up = False)
  3. Move to “Programs” folder and get filtered file and folder list

    1
    moveWork('Programs')
  4. Re-filter the file and folder list and get only the folder list

    1
    #
  5. Move into each selected folder and move up the selected item

    1. If not recognized inside the Database

      1. Select the first item from the list
      2. Move working directory
      3. Get file list
      4. Filter the list
      5. Compare all item name to the folder name
      6. Move the item with highest confidence
      7. Move up working directory
      8. Delete the folder and its remaining not selected files
      9. Delete the folder name from the list

      Repeat until no more item to do

    2. If recognized inside the Database

      1. Select the first item from the list
      2. Move working directory
      3. Move all selected file list based on the database
      4. Move up
      5. Delete the folder and its remaining unwished files
      6. Delete the folder from the list

      Repeat until no more item to do

#FAQ

Q: How can I use this app? Can I double-click that “Clean Start-Cut.py”?

A: I will make the executable later when it is ready for release. For now, you can install Python 3 and some marked modules listed above manually to try it.

Q: When will it be ready for release?

A: I will announce it on my Instagram and Twitter account, and my blog page. You can find it on the About page on my blog page here.

Q: I have already used your program directly on my computer without testing it first, and now I want to restore it. How can I do that?

A: Yes, you can. This program, by default, makes a backup copy as a zip file and stores it on your Desktop. The file name should look like “Start Menu Backup.zip,” and you can see the readme.txt file inside it to know where to extract it.

#Note

As long as this program is in “test mode,” everything this program does will not touch your Windows OS. You can toggle the “test mode” inside the config.ini file on the inTest variable.

All working directories are inside the main python file.