RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Clearing the lastplayed and playcount from gamelist.xml's

    Scheduled Pinned Locked Moved Ideas and Development
    clearinglastplayedplaycountgamelist.xml
    34 Posts 13 Posters 14.5k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • RiverstormR
      Riverstorm
      last edited by

      Thanks for the script. I would add a +1 as a feature. After setup and testing I have the first game in each emulator in my list which would be nice to flush before imaging.

      1 Reply Last reply Reply Quote 0
      • K
        kactius
        last edited by

        Very thanks.
        I contribute with a grain of sand, in Spanish, but it is easy to edit, it is a menu with dialog to clean lastplayed and playcount, 3 options:
        1 "home/pi/RetroPie/roms"
        2 "opt/retropie/configs"
        3 "both 1 and 2"
        4 "Exit" 2>"${INPUT}"
        The code, copy paste and give execution permission:
        https://pastebin.com/tGPMehXr

        1 Reply Last reply Reply Quote 1
        • D
          davidgrohl Banned
          last edited by davidgrohl

          Hi all,
          I've tried this usefull script but it doesn't work for me.
          I put it in /home/pi/Retropie/roms folder. Make it executable. Than launch it typing ./name_of_The_script.sh and it says:

          file: /home/pi/RetroPie/roms//gamelist.xml'
          ./clear_played.sh: 7: ./clear_played.sh: cannot create /home/pi/RetroPie/roms/
          /gamelist.xml.tmp : Directory nonexistent
          mv: cannont stat '/home/pi/RetroPie/roms/**/gamelist.xml.tmp' : No such file or directory

          What's the mistake?

          mituM 1 Reply Last reply Reply Quote 0
          • mituM
            mitu Global Moderator @davidgrohl
            last edited by

            @davidgrohl The script fragment expects the gamelist.xml located in the ROMs folders, but by default they're in /home/pi/.emulationstation/gamelists/<system_name>. Try the script posted by @kactius, it allows you to select one of the 2 locations for the gamelist.xml files.

            D I 2 Replies Last reply Reply Quote 1
            • D
              davidgrohl Banned @mitu
              last edited by

              @mitu said in Clearing the lastplayed and playcount from gamelist.xml's:

              @davidgrohl The script fragment expects the gamelist.xml located in the ROMs folders, but by default they're in /home/pi/.emulationstation/gamelists/<system_name>. Try the script posted by @kactius, it allows you to select one of the 2 locations for the gamelist.xml files.

              Thanks @mitu for reply. That scripts works with option 2.
              Great! Thanks a lot.

              1 Reply Last reply Reply Quote 1
              • I
                Invisible89 @mitu
                last edited by Invisible89

                @mitu said in Clearing the lastplayed and playcount from gamelist.xml's:

                @davidgrohl The script fragment expects the gamelist.xml located in the ROMs folders, but by default they're in /home/pi/.emulationstation/gamelists/<system_name>. Try the script posted by @kactius, it allows you to select one of the 2 locations for the gamelist.xml files.

                Hi guys.

                I'm trying to clear my last played games list, but it doesn't work :(

                I've created cleanlastplayed.sh file with this code:

                #!/bin/sh
                #clear_played.sh

                for f in /home/pi/RetroPie/roms/**/gamelist.xml
                do
                echo "file: $f"
                grep -e lastplayed -e playcount -v $f > "$f.tmp"
                mv -f "$f.tmp" $f
                done

                It's ok? Or I've to modify it with the name of the system name (**)?

                And where should I put this file? What directory?

                Thanks

                1 Reply Last reply Reply Quote 0
                • mituM
                  mitu Global Moderator
                  last edited by

                  You should use a single wildcard (*) instead of the system name, but the script will only find the gamelist.xml files from the ROM folders, you might have some gamelist files in ~/.emulationstation/gamelists/<system> folders.

                  I 1 Reply Last reply Reply Quote 0
                  • I
                    Invisible89 @mitu
                    last edited by

                    @mitu said in Clearing the lastplayed and playcount from gamelist.xml's:

                    You should use a single wildcard (*) instead of the system name, but the script will only find the gamelist.xml files from the ROM folders, you might have some gamelist files in ~/.emulationstation/gamelists/<system> folders.

                    Ok, i will try with only one windcard.

                    But where i've to put my cleanlastplayed.sh file?

                    mituM 1 Reply Last reply Reply Quote 0
                    • mituM
                      mitu Global Moderator @Invisible89
                      last edited by

                      @Invisible89 said in Clearing the lastplayed and playcount from gamelist.xml's:

                      But where i've to put my cleanlastplayed.sh file?

                      It doesn't matter, as long as you execute it correctly. Let's say you save it in /home/pi/RetroPie/scripts.

                      #make the folder
                      mkdir -p $HOME/RetroPie/scripts
                      
                      # create the file in $HOME/RetroPie/scripts/lastplayed.sh
                      
                      # run the script
                      bash $HOME/$HOME/RetroPie/scripts/lastplayed.sh
                      
                      I 2 Replies Last reply Reply Quote 0
                      • I
                        Invisible89 @mitu
                        last edited by

                        @Invisible89 said in Clearing the lastplayed and playcount from gamelist.xml's:

                        @mitu said in Clearing the lastplayed and playcount from gamelist.xml's:

                        You should use a single wildcard (*) instead of the system name, but the script will only find the gamelist.xml files from the ROM folders, you might have some gamelist files in ~/.emulationstation/gamelists/<system> folders.

                        Ok, i will try with only one windcard.

                        But where i've to put my cleanlastplayed.sh file?

                        Ok, i understand.

                        Thanks

                        1 Reply Last reply Reply Quote 0
                        • I
                          Invisible89 @mitu
                          last edited by

                          @mitu said in Clearing the lastplayed and playcount from gamelist.xml's:

                          @Invisible89 said in Clearing the lastplayed and playcount from gamelist.xml's:

                          But where i've to put my cleanlastplayed.sh file?

                          It doesn't matter, as long as you execute it correctly. Let's say you save it in /home/pi/RetroPie/scripts.

                          #make the folder
                          mkdir -p $HOME/RetroPie/scripts
                          
                          # create the file in $HOME/RetroPie/scripts/lastplayed.sh
                          
                          # run the script
                          bash $HOME/$HOME/RetroPie/scripts/lastplayed.sh
                          

                          Ok, now I've this when I try to run the script:

                          pi@retropie:~/RetroPie/scripts $ ./delete_pla_last.sh
                          -bash: ./delete_pla_last.sh: Permission denied

                          What I've to do to take a permission?

                          Thanks

                          mituM 1 Reply Last reply Reply Quote 0
                          • mituM
                            mitu Global Moderator @Invisible89
                            last edited by

                            @Invisible89 said in Clearing the lastplayed and playcount from gamelist.xml's:

                            What I've to do to take a permission?

                            It's because you've not made the script executable - that's why in my example command I've run it through bash. Just run

                            chmod +x delete_pla_last.sh
                            

                            and re-run the script.

                            I 1 Reply Last reply Reply Quote 0
                            • I
                              Invisible89 @mitu
                              last edited by

                              @mitu said in Clearing the lastplayed and playcount from gamelist.xml's:

                              @Invisible89 said in Clearing the lastplayed and playcount from gamelist.xml's:

                              What I've to do to take a permission?

                              It's because you've not made the script executable - that's why in my example command I've run it through bash. Just run

                              chmod +x delete_pla_last.sh
                              

                              and re-run the script.

                              Finally! ;)

                              Done, thank you man!

                              1 Reply Last reply Reply Quote 0
                              • R
                                RetrOkada
                                last edited by

                                Hello, thanks for this script.

                                Unfortunately, when I attempt to run it, I receive the following message:
                                "
                                Clearlastplayed.sh, : 3:, clearlastplayed.sh, : syntax error: redirection unexpected
                                "

                                Anyone know what this means?

                                Cheers.

                                R 1 Reply Last reply Reply Quote 0
                                • R
                                  RetrOkada @RetrOkada
                                  last edited by

                                  @RetrOkada Okay, so all sorted now. To run the script, I was entering sh "clearlastplayed.sh". I tried ./clearlastplayed.sh instead, and it worked perfectly.

                                  I also removed the DOS line breaks from the script, so circumvented the "Bad Interpreter" issue.

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    ssokolow
                                    last edited by

                                    Sorry for replying half a year later, but this is showing up in Google results and using grep to edit an XML file risks corrupting it if something else broke the assumption that it's pretty-printed in the right way.

                                    (eg. Python's ElementTree XML library outputs minified XML by default and it took a few revisions to turn on pretty-printing in one of the scripts I wrote.)

                                    The device I'm currently preparing for a family Christmas gift is using Batocera rather than RetroPie, but my solution for this should work on RetroPie too as long as it's got a standard Python 3.x installation.

                                    https://gist.github.com/ssokolow/e1c4b6fceb65bcf4e6d886ce691280bf

                                    (As you can probably tell, I got a little nerd-sniped about making it robust and friendly before I realized I was going way overboard for a self-itch-scratch and stopped short of writing an automated test suite.)

                                    To just clear lastplayed and playcount without also clearing gametime, pass --remove-tag lastplayed --remove-tag playcount as arguments.

                                    LolonoisL 1 Reply Last reply Reply Quote 2
                                    • LolonoisL
                                      Lolonois @ssokolow
                                      last edited by Lolonois

                                      @ssokolow Nice work. Works like charm on a RetroPie setup too. Thanks for sharing it under MIT license.

                                      1 Reply Last reply Reply Quote 0
                                      • First post
                                        Last post

                                      Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                      Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.