If for example, a new faculty member does not have the original files for an old moodle course, and the files uploaded to moodle the last semester are corrupt, you still can extract the files from a backup of the course with a tool I found here: DownloadAll
(DownloadAll.jar – cudos and thank you to OP Veronica Liesaputra !):
In order to extract all files from a course backup mbz file, please follow the guide below. Even if the files that were uploaded and are corrupt, and cannot be viewed/downloaded in moodle, you may be able to download the originals, repair the files, and then re-upload to moodle again:
Go into the course where files are located (may be in an old location, even though current/copied course is valid with same corrupt files)
Backup the course without user data. An mbz file will be generated. Copy this file to a Windows computer eg. c:\Users\jcoltrin\Desktop\moodlebackups\coursename.mbz
Copy the linked jar script to the same folder
Make sure 7zip is installed. Extract all the files in the mbz file to a directory with the same name just under the location of the mbz file. The script will not work unless you first extract all the files! For example, your folder structure will now look like this:
Desktop\ moodlebackups\ DownloadAll.jar backup-moodle2-course-269-1509-bus302-va-20160114-1-28-nu.mbz backup-moodle2-course-269-1509-bus302-va-20160114-1-28-nu\ activities\ course\ files\ 1b\ 1b23cd2aaf9c0e8829407fc46c6b4b4c4f8d1a7c 3d\ 3ddb69ac1035d0a51c4d1a3e767391d21f70c895 sections\ files.xml\
… This step may take a little bit of cut/paste as the mbz file has to be extracted twice with 7zip.
Run the DownloadAll.jar script with the command java -jar DownloadAll.jar (PS C:\Users\jcoltrin\Desktop\moodlebackups> java -jar DownloadAll.jar)
You’ll be prompted to enter the full path to the mbz file: “Enter the full path location to the Moodle’s backup (.mbz) file, e.g. C:/Users/Moodle/Backup/backup-moodle2-course-592-nu.mbz” – so in this case, I used: C:\Users\jcoltrin\Desktop\moodlebackups\backup-moodle2-course-269-1509-bus302-va-20160114-1028-nu.mbz
Output should return the names of the files that are recovered and start extracting (files even though errors occur):
C:\Users\jcoltrin\Desktop\moodlebackups\backup-moodle2-course-269-1509-bus302-va-20160114-1028-nu created IOError :java.util.zip.ZipException: error in opening zip file Copy C:\Users\jcoltrin\Desktop\moodlebackups\backup-moodle2-course-269-1509-bus302-va-20160114-1028-nu\files\74\74ada129 b720c6266753b54e5c5af614274bfcfe to C:\Users\jcoltrin\Desktop\moodlebackups\backup-moodle2-course-269-1509-bus302-va-201 60114-1028-nu\Legal StructureLawsuits .pdf Copy C:\Users\jcoltrin\Desktop\moodlebackups\backup-moodle2-course-269-1509-bus302-va-20160114-1028-nu\files\6d\6db0919b e36df971bd7780defd8802ba119d4e80 to C:\Users\jcoltrin\Desktop\moodlebackups\backup-moodle2-course-269-1509-bus302-va-201 60114-1028-nu\Sample-Negligence-Complaint.html
7. Once files have completed Extracting, gather the files and distribute as necessary.
8. In this case, many of the files that were corrupt in moodle had contained spaces in the filenames. I find that files uploaded to moodle work best with filenames that do not contain spaces or special characters. Also it’s smart to test opening each file in moodle first, to make sure repairs and download actions for each file work correctly.