• Hi Guest!

    We are extremely excited to announce the release of our first Beta for VaM2, the next generation of Virt-A-Mate which is currently in development.
    To participate in the Beta, a subscription to the Entertainer or Creator Tier is required. 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.
Find-dupes.py

Plugins + Scripts Find-dupes.py

Download [<1 MB]

VRmatt

Active member
Joined
Jul 9, 2022
Messages
249
Solutions
1
Reactions
54
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
167
Plugins + Scripts FindPlugins
Replies
3
Views
457
Replies
17
Views
3K
Back
Top Bottom