Re: AppleScript need: Can a file open at all
Tim Murray <[email protected]> Wed, 20 May 2020 17:34:37 -0400
| Newsgroups | alt.comp.lang.applescript, apple.lists.applescript-users |
|---|---|
| Organization | http://www.AltBinaries.com - Uncensored, Un-logged, Secure. |
| Message-ID | <[email protected]> |
On May 16, 2020, Jolly Roger wrote (in article <[email protected]>): > On 2020-05-16, Tim Murray<[email protected]> wrote: > > I recently made a gross error of formatting a disk that had good data on it. > > (My MBPro was stolen and when I got another, I ended up formatting my Time > > Machine disk. Aaarrrgh! Some computer tasks should not be performed with > > bourbon.) Anyway, I ran some recovery programs and got everything back, but > > there is one issue. > > > > My PDFs are all named File0001.pdf, File0002.pdf, and so on, but there are > > several hundred. Acrobat and Catalina’s Quick Look and Preview can deal > > with many of them. > > > > What I am looking for is a script to run through a folder and determine if a > > PDF can be opened or even if Quick Look works . . . I don’t need to > > actually do anything with it, just see if it can be opened. If it cannot, > > that’s okay: Trash it so that what remains are PDFs can be opened. > > > > In a way I don’t really need this per se, because I successfully retrieved > > most, if not all, the original files that made the PDFs, such as InDesign, > > Pages, Illustrator, and so on. > > > > So can someone here do that? Thanks. > > I've done this PDF document validation in Ruby using the pdf-reader Gem > before. Here's a simplified example script: > > --- > #!/usr/bin/env ruby > > require 'pdf-reader' # gem install 'pdf-reader' > > class Reader > def start > filepath = ARGV[0] > unless filepath.nil? > if File.exist?(filepath) > begin > reader = PDF::Reader.new(filepath) > puts "Document is valid: #{File.basename(filepath)}" > rescue StandardError => exception > puts "Couldn't open #{File.basename(filepath)}: #{exception.message}" > end > else > STDERR.puts "ERROR: Specified file does not exist: #{filepath}" > end > else > STDERR.puts "ERROR: You must provide the path to a PDF document as the first > command-line argument." > end > end > end > > reader = Reader.new() > reader.start() > --- > > Usage examples: > > --- > #./pdf_validator.rb ~/Documents/Hardware/Car\ Stereo/Old/KAC818.pdf > PDF seems valid: KAC818.pdf > > # ./pdf_validator.rb some_bad.pdf > PDF does not contain EOF marker: some_bad.pdf > --- > > You could certainly wrap this in an AppleScript "do shell script" > command to automate it if you wanted to. But I'd probably just modify > the script to do exactly what I want and run it on the command line and > be done with it. If I knew something about Ruby (other than just what is “is” I would work with this, but I don’t. But thanks much.