• Hi Guest!

    We are extremely excited to announce the release of our first Beta1.1 and the first release of our Public AddonKit!
    To participate in the Beta, a subscription to the Entertainer or Creator Tier is required. For access to the Public AddonKit you must be a Creator tier member. Once subscribed, download instructions can be found here.

    Click here for information and guides regarding the VaM2 beta. Join our Discord server for more announcements and community discussion about VaM2.
  • Hi Guest!

    VaM2 Resource Categories have now been added to the Hub! For information on posting VaM2 resources and details about VaM2 related changes to our Community Forums, please see our official announcement here.
Find-dupes.py

Plugins + Scripts Find-dupes.py

Download [<1 MB]

VRmatt

Active member
Joined
Jul 9, 2022
Messages
262
Solutions
1
Reactions
55
VRmatt submitted a new resource:

Find-dupes.py - "Find duplicate packages" script

Here’s a Python script that reads the filenames from dupelist.txt, searches through directories, and prints the paths of the matching files:

dupelist format:
AcidBubbles.Keybindings.22
everlaster.FloatParamRandomizerEE.6
everlaster.FloatParamRandomizerEE.7
Everlaster.IdleModeling.2
everlaster.Naturalis.70
everlaster.Naturalis.71
everlaster.Naturalis.72
GossamerVR.MorphFilterPlus.8
hazmhox.vamatmosphere.12
hazmhox.vamoverlays.6
JayJayWon.VideoControllerJJW.1
Redeyes.DiviningLipsAndHands.39...

Read more about this resource...
 
Do you have a longer list? I copy and pasted that format into a txt file and named it dupelist
dupelist format:
AcidBubbles.Keybindings.22
everlaster.FloatParamRandomizerEE.6
everlaster.FloatParamRandomizerEE.7
Everlaster.IdleModeling.2
everlaster.Naturalis.70
everlaster.Naturalis.71
everlaster.Naturalis.72
GossamerVR.MorphFilterPlus.8
hazmhox.vamatmosphere.12
hazmhox.vamoverlays.6
JayJayWon.VideoControllerJJW.1
Redeyes.DiviningLipsAndHands.39
via5.AlternateUI.1
AcidBubbles.Keybindings.22
AcidBubbles.Timeline.210
hazmhox.fluids101.11
hazmhox.vamafx.2
hazmhox.vamatmosphere.12
hazmhox.vammoan.22
JayJayWon.AtomStorablesCatalogue.1
JayJayWon.SexAssist.3
JayJayWon.VideoControllerJJW.1
MacGruber.Life.12
MacGruber.Life.13


But I feel that is just an example so was not sure if I did something wrong
Does is check subfolders too? Thank you
 
Yeah its just an example. You can find your list if you go to the VAM log file, and search for any lines that say "Duplicate package ... "
the file is typically located at:
C:\Users\<user>\AppData\LocalLow\MeshedVR

(you'll have to do some copy, paste, and cleanup to get the package names, or you can just post it into chatGPT and ask it to parse it for you)

Hope that helps!
 
Heya just a heads up - people using @JayJayWon 's Browser Assist plugin with symbolic links will probably run into issues when running this script. It would see the symbolic links as duplicate items and move the actual source files to the duplicates folder, also breaking the links.

Here's the directory the linked items are in, perhaps you can exclude it like you did with the duplicates folder?
./Saves\PluginData\JayJayWon\BrowserAssist\SymLinks\


In any case thanks for sharing your script(s)! Saves a lot of time and hassle
 
I'm no good with Python, but why make a list at all? Can't we just go through the add-on folder, trim off the .var, split using a period then loop through the array. If array[0].[n] = array[1].[n] (where n is any number of array entries before the version number), then 0 is a duplicate? This is the logic I'm using to clean my folder manually, so I hope it's not flawed somehow..

Edit: Sort by Ascending file name and condition without the version. Only need to use the version number for file management. This way when array[1] becomes a new filename, the array[0] that was array[1] in the last pass is kept as the up to date file..
 
Last edited:
Sorry for the late reply. This script wont remove JayJayWon, because this script is only for packages in the AddonPackages folder. It doesnt remove any other stuff from any other folders.

Just FYI, all the scripts I developed are to be ran in the AddonPackages folder.
So, just download and extract, and run from there.
You'll need to have Python installed (search google its easy to do).

First: create a folder called .duplicates
Then, run the script by opening 'command line' or bash or whatever terminal you use, and go into to your AddonPackages folder.
Then type:
Python -script name-

(y)
 

Similar threads

Replies
0
Views
179
Plugins + Scripts FindPlugins
Replies
3
Views
479
Replies
17
Views
3K
Back
Top Bottom