Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I read a ton of small PDF files for work, I would like to "mark" these to show that they've been read?

I keep them organized in specific folders (like over 1000). I was imagine a PERL script or something to create a "READ" and UNREAD folder for every subfolder in a specific folder or Windows Shell Script?

I dont have experience with either so any ideas?

share|improve this question

migrated from Jan 15 '11 at 4:41

This question came from our site for professional and enthusiast programmers.

It belongs here. I don't know why it's being voted to be closed, especially with no comment as to why. Anyway, this involves a shell extension. TortoiseSVN (the code should be available for viewing I believe, just mind license) does this to show "current" and "stale" files, etc. Now, given the above keyword, what has research shown as possible approaches? :) Detecting "read", etc. is a little more problematic, but could perhaps be done with an intercept-loader or a file-system monitor (process explorer can monitor file handle access, for instance). In the end, likely not worth it. – pst Jan 15 '11 at 4:26
Why it belongs here: discussion of the different techniques/approaches for this sort of highly-coupled task, including issues, will increase the store of random-programming-related-knowledge on SO. – pst Jan 15 '11 at 4:30
maybe OP can get a COTS solution that can do what he needs on SuperUser – mauris Jan 15 '11 at 4:36
up vote 1 down vote accepted

My thoughts would be to make a reader of some sort where powershell lists the current unread files as a list, you select one from the list, and then the script will will both move it to read and open it in acrobat for you. That's a more automatic way to mark as read without a lot of fuss.


do {

    $files = Get-ChildItem $dir | Where {$_.psIsContainer -eq $false}

    foreach ($file in $files) {
        write-host $count "-" $file

    $toread = read-host -prompt "Please type the number of the file you would like to read: " 

    $fileToRead = ($readdir+"\"+$items[$toread-1])
    $fileToMove = ($dir+"\"+$items[$toread-1])

    Move-Item $fileToMove $readdir
    Invoke-Item $fileToRead

    Start-Sleep -s 5
    write-output "`n`r"

} while ($count -gt 1)

write-output "Reading Done!"
share|improve this answer

You must log in to answer this question.