If you just want to skip to the happy ending, scroll down to the last paragraph.
I had a client who recently had to produce documents in connection with some litigation. OK, I thought, just find the documents using the searches specified in the document production order, then export them using a Worldox “send to” command. It would be easy to set up the desired structure, include the description, etc. Right?
Not so fast. It turns out that any files exported with a “send to” command (i.e., using WDCOPY) contain a “date created” of the date of the export and this was unacceptable to the side the documents were being produced for. They wanted the firm to use Robocopy, the bulked up replacement for Xcopy in Windows 7. More on that later.
While most people would expect to put the documents produced on a USB hard drive, there is another option. If you use the Worldox Send To CD/DVD, it maintains the original date created of the document (although the “date accessed” field is blanked out). By writing to the CD/DVD it also marks the file as Read Only. This may or may not be acceptable.
In addition, when using the Worldox “Send To CD” option, all the documents being sent have to be from the same directory. This can make exporting the documents fairly complex. You would want to put a column in the display list for every field that is a subdirectory so that the list can be sorted easily. One way around this is to use a CD-creation program such as Roxio. The only hitch with that is that while the Worldox “Send to CD” produces both the document description and the Doc ID, Roxio only writes the Doc ID. So the documents all look like “00018036.docx.” While you could argue that this is the “native format” of the document you may encounter objections.
This brings us back to Robocopy. Since the files to be produced are likely to be just a subset of all your documents and spread out across various directories (client/matter/doc type), there is no easy way that I know of to get Robocopy to accept a list of documents in an argument. (If anyone knows how to get Robocopy to accept a file as the “source” argument, please let me know.) So we are left with a somewhat laborious procedure.
1. Make a Worldox file list containing FileLocation (but not doc ID), description, and Doc ID columns. Print this to a *.CSV file.
2. Open the CSV file. Insert a column at the left (to be Column A) containing “robocopy.exe” (or “path\robocopy.exe”). Use the fill handle (the darker square dot in the lower right corner of the cell pointer) to copy this down to all cells in the column.
3. In the FileLocation column (B) do a search and replace and replace the profile group name with the actual path (e.g., replace clients\xxx with p:\docs\xxx).
4. Create a new Column C for the destination. If you are copying to a USB drive, it might be, e.g. E:\docprod.
5. Columns that are now D & E are the description and DocID respectively. In Column F, concatenate Columns D & E with the formula =D2&”_”&E2. This will put an underscore between the description and the Doc ID in the resulting column. Again, use the fill handle to copy the formula down. Since the Worldox description may contain characters that are illegal in a file name, you may have to write a script to remove those characters (e.g. " * / : < > ? \ [ ] |).
6. Delete Columns D & E as you no longer need them.
7. If necessary, put in any switches that are required in what is now column E.
A typical row might look like this:
A B C D E
robocopy.exe P:\clients\0100\009 E:\docprod This is my document_0018379.docx /switches
8. Copy the resulting rows into a notepad file and call it e.g. docproduction.bat.
Run the batch file to copy the files as required.
So I asked around for a better solution and within a day or two a Worldox consultant and author of a number of utilities, Tom Price, had put together a copy applet that maintains the original Create Date and has all the other flexibility of the normal Worldox copy routine. You should be able to get it from any Worldox certified consultant.
I just figured out how to create the csv...this is great...
Here the basis for a powershell script do something along the same lines.
---------------
$csvdata = import-csv -path 'c:\test.csv'
foreach ($row in $csvdata){
$src = $row.location.replace("profile group","basepath")
$dst = 'c:\docprod'
$description = $row.description
$docid = $row.docid
$switches = "robocopy switches"
robocopy $src $dst $docid $switches
}
Posted by: Robert Katherman | August 28, 2012 at 06:19 PM
powershell cmdlets import-csv and copy-item would do the trick too.
How do you print a worldox list to csv? haven't been able to figure that out.
I'm a new Worldox install and just came across your blog. It is fantastic. Thank You
Posted by: Robert Katherman | August 28, 2012 at 05:51 PM