Exporting all the files of a wiki

Exporting all the files of a wiki can be done in a few different ways. If you have FTP access to the wiki, then you can move the files by following the procedure at Manual:Moving a wiki. If you lack such access, as can happen for instance if a wiki is abandoned by its site owner, then you will probably need to use workarounds. This procedure can semi-automate the task of downloading all the files, but you will still have to figure out a way to upload them to your wiki.

Step 1

 * Follow the procedure at m:Help:Export to use a Python script to get the names of all the files on the wiki. When you go to Special:AllPages, you will be selecting the File namespace.
 * Select the names that the Python script spits out, and copy and paste them into Column A of your favorite spreadsheet application (e.g. Microsoft Excel, or OpenOffice.org Spreadsheet if you need free software). You should now have a bunch of cells that say, e.g., File:Ayn Rand.png
 * In Cell B1, put this formula:
 * Copy that formula and paste it into the rest of Column B. (Make sure you don't try to paste cell B1 onto itself, or you'll get an error like "You are pasting data into cells that already contain data") Each cell in Column B should now say something like *[[File:Ayn Rand.png]]
 * Go to the wiki you got the filenames from and create a new page, e.g. User:JoeSchmoe/All files. Copy and paste column B into that page, and save.
 * The page will now load; it may take awhile since you are loading everything. You should see a listing that looks like this:
 * File:01-gold-bar.jpg
 * File:100px-Massachusetts state flag.png
 * File:100px-New York state flag.png
 * File:128px-Padlock-red.svg.png
 * ... (etc.)...

Step 2

 * Now use a perl program to generate a script to give you the urls:

Step 3

 * This should generate a list that you can incorporate into another script:

Step 4
This in turn will generate a list that you can load into yet another script, e.g.:

Step 5

 * You should now have all the files downloaded. Uploading them is another issue; perhaps try Extension:MultiUpload if you can get it to work.