How to create a hentai catalog!
I will create a create a text file, then make a csv file from it and import it into Excel. Finally I'll write a couple of useful excel functions that'll help me find duplicate entries in my catalog.
UPDATE! I've found a better way to make csv files, the guide has been updated with the new method that uses Windows own scripting instead and doesn't need Word.
Setting Up
Name your folders/files (if you archive them) according to some rigid scheme. This time we will use mine. My Windows is Hungarian, but you should find everything familiar and I'll always try to name what I do in English:
a) Hentai Doujinshi
Franchise (Author) - Title [Translator]
b) Hentai Manga & Original Doujinshi
Author - Title [Translator]
The crossed-out part was for the old csv guide.
Nowadays I use this naming scheme:

Franchise {Author} - Title [Translator]
I do this, because this way I can keep all entries (both doujinshi and original work) in a single database with common formating. For eromanga or doujinshi with original setting I just write "Original" into the Franchise field.
New CSV Guide
[size=14]1. A VB Script to switch out characters in a text file.[/h]
First, we make a vb script file that we'll use to make our csv files:
Const ForReading = 1
Const ForWriting = 2
strFileName = Wscript.Arguments(0)
strOldText = Wscript.Arguments(1)
strNewText = Wscript.Arguments(2)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(strFileName, ForReading)
strText = objFile.ReadAll
objFile.Close
strNewText = Replace(strText, strOldText, strNewText)
Set objFile = objFSO.OpenTextFile(strFileName, ForWriting)
objFile.WriteLine strNewText
objFile.Close
Put this into note-pad as save as "replace.vbs".
This script looks for a specific character in a text file and replaces it with another. We'll use it, to replace the characters you normally use to denote specific parts of a file name (ie. artist is always between {}) with semi-colons (;).
[size=14]2. Next we write a batch file, to process our list files.[/h]
cscript replace.vbs "%1" " [" ";"
cscript replace.vbs "%1" "[" ""
cscript replace.vbs "%1" "] " ";"
cscript replace.vbs "%1" "]" ""
cscript replace.vbs "%1" " {" ";"
cscript replace.vbs "%1" "} - " ";"
cscript replace.vbs "%1" ".zip" ""
Put this into note-pad and store it as "csv.bat". I keep this in a separate batch file, so whenever I need to make a list I can just call this with the right parameters.
All it does is call the vb script we wrote numeral times and replace varios characters. See that "%1" there? That means this batch file will need a parameter when calling it.
A csv file is a list of records that Excel (or other database/spreadsheet) software can access. Each record ends with an EOF character, and the fields are divided by semi-colons.
Since a listing by windows already separates items with EOF if we can change the characters that denote the different parts of the file/directory name we can get a useable csv file.
This only works with my own naming scheme!
Franchise {Artist} - Title [Translator]
If you use a different naming scheme, you'll have to modify the script!
Ie. If you used Artist (Franchise) - Title and kept your stuff in .rar files, you'd have to replace " (" (yes, you need to get rid of the space too!) with ";" then ") -" with ";" finally ".rar" with "" (empty as we don't need that end of the file).
[size=14] 3. Finally we make the list of directory where our hentai is, then process it with our other batch file.[/h]
You'll have to replace PATH with where you keep your stuff! (ie. C:\My Documents and Setting\User\Documents\Hentai. The batch file will create the new csv file where you run it.
dir "PATH" /B /ON > list-new-doujinshi.txt
copy list-new-doujinshi.txt list-new-doujinshi.csv
call csv.bat list-new-doujinshi.csv
Put this into note-pad and save it as "make-list.cmd".
When you want to create your csv (and text listing file), just run this file.
Old guide on making the CSV file
First we want to create a text file with all the relevant folders/files listed in it. A thing that most of you don't know is that the "dir" command can do this for us.
1. Start a command prompt.

Run --> cmd
2. Select the drive your folder's at.

Write: "< Folder Letter >:"
For me: "D:"
2. Navigate to the relevant folder. You can copy and paste the path into the command prompt.
Write "cd"

Paste "< path >" you copied

For me it was "cd D:\Downloads\Hentai\Doujinshi - Fresh 2B Read Hentai Doujinshi"
3. Give the "dir" command with the > parameter and name for your text file. You'd likely want to create this file in a folder *OTHER* than where the cataloged stuff is. You want this because if you create the text tile there it will show up as an entry in your catalog.

Write: "dir > < path >\< textfilename >.txt"
For me: "dir > D:\Downloads\Hentai\doujin-list.txt"
The CSV File
OK. We've got a text file. Now we're going to create csv file from it. CSV files are simple lists of records, where the end of the line means a new record, and record entries are separated by a ";".
To do this I'll use Word. Why? Because Word's "Find and Replace" has some awesome features that most of you never knew it had.
So I fire up word and open the text file in it.
Word will prompt me that it encountered a text file and has to select an encoding. The default will do fine most of the time.

First I'll get rid of the needless stuff on the top & end of the file. Also make sure you have "Show All" turned on. (I can't believe people edit text without this).

Stuff at the start:

Stuff at the end:

I leave a single, empty row at the start of the file, this will help me when re-editing the file.

Next, I select Edit--> Find&Replace

An important note: We won't be using Find & Replace in its basic setting. We'll be using wildcards and to do that you have to turn on substitution.

Click the 'More' button to present the additional functions and check the 'Use wildcards' option:

You can find more about using wildecards here:
http://www.gmayor.com/replace_using_wildcards.htm
From this point on all I'm gona use is find and replace, so I'm only going to write what I "find" and what I "replace" it with.
For your own catalog (if your naming scheme differs from mine) you'll have to create you own parameters.
1st replacement (always without the " "):
Find: " [(*)]"
Replace: ";\1"
2nd replacement
Find: "(^13*\< DIR >)(*)([! ])"
Replace: "^p\3"
3rd replacement
Find: "(*) - (*)"
Replace: "\1;\2"
4th replacement (only for Doujinshi that have (< author >) in their name)
Find: "\((*)\)"
Replace: ";\1"
Finally I select "Save as..." and give the extension ".csv".
Once again Word will prompt me that I'm gona save this as a text file and formating will be gone. That's fine with us, and you can select the Windows default encoding.
Mucking around in Excel
If I did everything right, then I should be able to open up this file in excel and a table will greet me:

After correcting some minor errors, (which are easy to find. Just go along the last column and see if there are any extra or missing entries. These are likely due parsing errors you (or in this case me) made during the conversion above or as even more likely the original file or folder didn't follow your naming scheme), it's time to set things up. I create the field headers:

Notice that I created 3 empty fields. I will use these to detect whether there is a duplicate entry in the database.

Before I move on, I'll have to create some self-expanding dynamic named ranges. This will ensure that I can just expand my database without having to rewrite and reapply my parameters each time I add to it.
It's easier than it sounds. This is how:

Go into Add-->Name-->Define.

Write a name, for me it'll be "Artist".
Then write this into the Refers to Box:
"=OFFSET($B$1,0,0,COUNTA($B:$B),1)"
In the above line, B refers to the B column where I have the "Artists" listed. If you have it in a different column, you'll have to write its letter there.
If your spreadsheet has has more than one worksheet , you have to define the range for each sheet and you'll have to name it '< Sheet >'!< Range > and write Refers to as:
"=OFFSET('< Sheet >'!$B$1,0,0,COUNTA('< Sheet >'!$B:$B),1)"
Likewise I'll add another range for the Full name.
Write a name, for me it'll be "FName".
Then write this into the Refers to Box:
"=OFFSET($G$1,0,0,COUNTA($G:$G),1)"
You can read more about Dynamic Ranges here:
http://www.ozgrid.com/Excel/DynamicRanges.htm
Time to write the functions. First I'll assemble the full name to search for duplicate entries. I write this into G2 (the first data row in the Full Name field):

=A2 & " (" & B2 & ") - " & C2 & "[" & D2 & "]"
...and I drag fill the rest of the rows. (Just double-click where I indicated).
Next, Duplicates. I write this into E2 (the first data row in the Duplicate field)::
"=IF(COUNTIF(FName,$G2)>1,"TRUE","FALSE")"
...and I drag fill the rest of the rows.
If there's a duplicate entry somewhere in the database than this field will be "TRUE".
Next, Duplicate Under a Different Name. What does this do? One thing I frequently encountered is that there is no set way of writing a Japanese manga-ka's name in English, so frequently his name will be written as < Firstname > < Sirname> or vice versa < Sirname > < Firstname >. I wanted to find if I had an entry where the same manga-ka was already used but with a different order.
Writing this function was a bitch, as I had to evaluate several things. First I had to detect whether there was more than one word in the field. If not, a duplicate entry can't be found under a different name. Then I had to evaluate whether the manga-ka first and last name were the same (due some inane pseudo name like "Muchi Muchi" or something).
So here's the function. I write this into D2 (the first data row in the Duplicate field):
"=IF(ISERR(SEARCH(" ",$B2,1)),"FALSE",IF(OR(COUNTIF(Artist,CONCATENATE(MIDDLE($B2,SEARCH(" ",$B2,1)+1,LEN($B2))," ",LEFT($B2,SEARCH(" ",$B2,1)-1)))<1,MIDDLE($B2,SEARCH(" ",$B2,1)+1,LEN($B2))=LEFT($B2,SEARCH(" ",$B2,1)-1)),"FALSE","TRUE"))"
...and I drag fill the rest of the rows.
Finally I want Excel to automatically highlight errors. I select all the data. (I go to A2, then press Ctrl-right,then Ctrl-down), then I select Format-->Conditional Formating.

I write the following entries

"Formula is" --> =$E2="TRUE" --> Set up formatting for duplicate entries
"Formula is" --> =$F2="TRUE" --> Set up formatting for duplicate under different name.
You can read more about conditional formatting here:
http://www.contextures.com/xlCondFormat02.html