Search for any term in your clipboard on Computerworld or elsewhere
This is one of my faves: Take any term you've copied into your clipboard (command-C), regardless of the app you're in, and Safari displays search results on that term from Computerworld.com.
To use:
1. Copy the code.
2. Open your script editor (you'll find it in your Applications/AppleScript folder).
3. Paste the code into the larger top portion of your script editor.
4. Save the file as a script in your Library/Scripts folder. (Note: If you open the AppleScript utility in the Applications/AppleScript folder, you can have your script menu display in the top menu bar.)
Code
#This script searches Computerworld.com for the contents of text in the clipboard.
set url1 to "http://www.computerworld.com/action/googleSearch.do?cx=014839440456418836424%3A-khvkt1lc-e&q="
set url2 to "&x=0&y=0&cof=FORID%3A9#1214"
tell application "System Events"
set myquery to the clipboard
end tell
-- changes space to plus using function at end of file
set thequery to SaR(myquery, " ", "+")
tell application "Safari"
activate
tell application "System Events"
tell process "Safari"
click menu item "New Tab" of menu "File" of menu bar 1
end tell
end tell
set theURL to url1 & thequery & url2
set URL of document 1 to theURL
end tell
-- handler (function) for search and replace
-- (posted by James Nierodzik at macscripter.net)
on SaR(sourceText, findText, replaceText)
set {atid, AppleScript's text item delimiters} to {AppleScript's text item delimiters, findText}
set tempText to text items of sourceText
set AppleScript's text item delimiters to replaceText
set sourceText to tempText as string
set AppleScript's text item delimiters to atid
return sourceText
end SaR
If you want scripts that will search for terms in your clipboard at other sites, MacScripter has AppleScript versions posted for searching highlighted text on Googleand Wikipedia (within Safari only). Download and install in your Scripts folder.
Targeted backups
Although Time Machine will do automated backups for those with modern versions of OS X, some readers might want an easy way to, say, keep all files related to a critical project together for an additional "in case of catastrophe" backup, or perhaps for something that could be easily downloaded to a USB drive.
It's pretty intuitive to select files to back up by name or date. For example, take this line of AppleScript:
tell application "Finder" to duplicate (every item in folder "Documents" of home whose modification date comes after (current date) - 7 * days) to folder "backup_docs" of disk "Backups" with replacing
It copies all items in your Documents folder that were modified in the last week to the backup folder on your "Backups" disk; modify the folder locations and dates as needed (note that yesterday would be current date - 1 * days [not day]). "With replacing" tells the script to overwrite any existing files with the same name.
The same "whose" construction can be used to find other things, such as these two statements that can be used for all types of script or image files:
whose name contains "script"
or
whose kind ends with "image".
Since I prefer to select files to back up based on "everything changed since I last ran this script," here's a quick modification created with Sal Soghoian's help:
Code
tell application "Finder"
activate
-- Configure source and destination folders
set source_folder to folder "Documents" of home
set destination_folder to folder "docs" of disk "BackupDisk"
-- Create a config file 1st time script runs to keep track of latest time run
if not (exists file "backup_script_config.txt" in source_folder) then
make new document file at source_folder with properties {name:"backup_script_config.txt"}
duplicate every item in source_folder to destination_folder with replacing
else
set last_run to modification date of file "backup_script_config.txt" in source_folder
duplicate (every item in source_folder whose modification date comes after last_run) to destination_folder with replacing
-- Update config file modification date
set the open_file to open for access file ((document file "backup_script_config.txt" of source_folder) as string) with write permission
set eof of the open_file to 0
write last_run to the open_file starting at eof
close access the open_file
end if
end tell