1

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?

3
  • 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, 2011 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, 2011 at 4:30
  • maybe OP can get a COTS solution that can do what he needs on SuperUser
    – mauris
    Jan 15, 2011 at 4:36

1 Answer 1

1

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.

$dir="C:\Users\username\Documents\ToRead"
$readDir="C:\Users\username\Documents\ToRead\Read"

do {
    $count=0
    $items=@()

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

    foreach ($file in $files) {
        $count++
        write-host $count "-" $file
        $items+=,($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!"

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .