2ディスプレー環境でそれぞれのデスクトップピクチャを切り替えるAutomatorワークフロー

セカンドディスプレー側のデスクトップピクチャの取得方法が中々つかめないまま放置していたのですが、重い腰(?)を上げて調べてみました。
「デスクトップピクチャ 2ディスプレイ mac」などのキーワードで検索したのですが、Automator、AppleScript関連の情報があまり出てこないなと彷徨ったところ、ここを見つけました。

メインディスプレーのピクチャをランダムに変更するAutomatorワークフローについてはこちらで記しましたが、もう一つのディスプレーのピクチャをどうやればいいのか…というのが、これでなんとかなりそうです。(System Events.appとはねえ…)

1

Automatorワークフローは図のAppleScriptの部分を書き換えることにします。画像ファイルの取得とフィルタリングはそのままです。
AppleScriptの部分は次の通りです。

on run {input, parameters}
	tell application "System Events"
		set DispNamae to name of every desktop as list
		set DispNamae1 to (item 1 of DispNamae as string)
		set DispNamae2 to (item 2 of DispNamae as string)
		display dialog "どちらのデスクトップのピクチャを変更しますか?" & return & "=-=-=-=-=-=-=-=-" & DispNamae1 & return & DispNamae2 & return & "=-=-=-=-=-=-=-=-" buttons {"Cancel", DispNamae1, DispNamae2} default button 2 with icon note returning {button returned:theVarb}
		if theVarb is DispNamae1 then
			tell (every desktop whose display name is DispNamae1)
				set previousItem to picture
				set targetItem to (some item in input) as alias
				if targetItem is previousItem then
					set targetItem to (some item in input) as alias
				end if
				try
					set picture to targetItem
				end try
			end tell
		else if theVarb is DispNamae2 then
			tell (every desktop whose display name is DispNamae2)
				set previousItem to picture
				set targetItem to (some item in input) as alias
				if targetItem is previousItem then
					set targetItem to (some item in input) as alias
				end if
				try
					set picture to targetItem
				end try
			end tell
		end if
	end tell
end run

2

ディスプレーの名前を入力するのも面倒なので、先ず名前を取得して、ダイアログボタンでどちらを変更するか選択するようにしています。

Microsoft Office FontCacheToolを起動させないためのAutomatorアプリケーション

Microsoft Office FontCacheTool<http://wp.me/p1Cs3W-44>というエントリで、FontCacheToolをマニュアルで取り除くことを書きましたが、相変わらずご丁寧なことに、Microsoft Officeのアップデートの度に、FontCacheToolは再度インストールされてしまいます。
上記のエントリで書いたように、パスを辿って削除すればいいのですが、その都度パスを確認するのが面倒になって来たので、Automatorでアプリケーション化しておくことにしました。

FontCacheTool

やっていることは実に簡単で、

$ /bin/test -f /Applications/Microsoft\ Office\ 2011/Office/MicrosoftComponentPlugin\.framework/Versions/14/Resources/FontCacheTool | mv -f /Applications/Microsoft\ Office\ 2011/Office/MicrosoftComponentPlugin\.framework/Versions/14/Resources/FontCacheTool /Applications/Microsoft\ Office\ 2011/Office/MicrosoftComponentPlugin\.framework/Versions/14/Resources/FontCacheTool_org

とターミナルで実行する換わりに、Automatorでアプリケーション化しただけです。
ダブルクリックするだけで、FontCacheToolがあれば別名にしてしまうので、Officeアプリケーションが起動する際に呼び出されることがなくなります。
(Microsoft Office2011のケースです。2008やそれ以前のバージョンではパスが異なってるかもしれません)

▪️追補
OS X 10.10の環境で動作したので、そのまま掲載しましたが、10.10.1beta環境で最新のMicrosoft Office 2011 14.4.6適用後に使用したところ、アクセス制限エラーが出ました。考えてみると当たり前ですね。私のうっかりミスでした。アプリケーションフォルダ自体が‘root/wheel’の権限設定なのですから。
(10.10で動作したこと自体がおかしかったわけです)
で、修正ですが、ターミナルで‘sudo’を付加してもアクセス制限がかかってしまうことはいつも通りなので、AppleScriptで‘do shell script sudo….’で実行すれば大丈夫です。
後で、スクリプトファイル自体を用意してアップロードしておく予定です。
m(._.)m

「.webloc」ファイルから「.url」ファルへの変換のもう1つの方法

通常、Safariで作成される「.webloc」ファイルを「.url」ファルへ変換するためのツールとして、ここで自作のWebloc_UrlFile.appを紹介しました。
この時点では知らなかったのですが、わざわざ書くまでもなく、便利なツールがあったことに今頃気がつきましたので紹介しておきます。
“ブックマークの管理”<http://www.zone0.net/jp/2011/bookmark.html>というページで「webloctourl」という
ツールが公開されています。

使い方は、

webloctourlはFoundation Tool(Objective-Cで書かれたコマンドラインツール)だ。ターミナルから、

$ webloctourl hoge.webloc
とすると、hoge.weblocと同じURLを表すhoge.urlが作成される。

$ webloctourl -d hoge.webloc
のように -d オプションを付けて実行すると変換元の.weblocファイルは削除される。 そんだけ。

フォルダ内の全ての.weblocを.urlにしたければ、

$ find . -type f -name “*.webloc” -print0 | xargs -0 webloctourl -d
とでもすれば良かろう。

ということです。(“ブックマークの管理”ページからそのまま引用しました)

自作のWebloc_UrlFile.appでは、OS Xでは標準装備ではない(はず? 確か、Xcodeのコマンドラインツールをインストールしなければいけなかったはず…)の‘string’コマンドをアプリケーションにバインドしていますので、環境によっては正常動作しないかもしれないという懸念があったので、その場合は今回の「webloctourl」の方が間違いないかも知れません。

■Automatorのワークフローで使えば便利かも

「webloctourl」はコマンドラインツールですが、ターミナルから呼び出すのでなければパスの通った特定のディレクトリである必要もないので、ここではユーザドメインのホームディレクトリに「Applications」フォルダがあることにして、そこで使うことにします。
Automatorのワークフローはこんな風にすればいいでしょう。

webloctourl

使用方法としては、Finder上で処理対象の「.webloc」ファイルを選択した状態で、スクリプトメニューなどからこのワークフローを実行するという設定にしておけばOKでしょう。
複数のファイルの選択・処理に対応しています。

NameChanger.appにAutomatorで選択フィルタをかけてみる

昨年9月のエントリでNameChanger.appをトピックにしたとき<http://wp.me/p1Cs3W-7F>に書いておいたと思っていたのですが、アプリケーションの紹介以上のことをしていなかったので、ここで少し補足をしておきます。

NameChanger.appでは、リネーム対象のアイテムをピックアップする方法として、
・メインウィンドウ左上の「+」ボタンをクリックして、オープンダイアログからアイテムを選択する
・Finderからメインウィンドウ内にアイテムをドロップする
という、2つの方法があります。

NameChanger1

NameChanger.appがAppleScriptに対応していれば、Finderで選択したアイテムにフィルタをかけて、例えば、画像ファイルだけを対象にするといったような使い方をすることができるのですが、残念ながらAppleScriptに対応していないのでこの方法は使えません。
しかし、ここ<http://wp.me/p1Cs3W-l>で記したように、AppleScriptに対応していないアプリケーションへファインダー項目を引き渡す方法としてAutomatorが便利な機能を持っています。
ワークフローにフィルタをかけてみることにしました。

workflow

図のように「Finder項目にフィルタを適用」アクションにオプションで実行時にアクションを表示するという設定にしておけば、ケースごとにフィルタを指定することができます。
これで、Finder上で対象となるアイテムを適当に複数選択した上でこのワークフローを実行すれば、適用されたフィルタに準じた対象だけがリネーム対象としてNameChanger.appのメインウィンドウにピックアップされることになります。

/Volumes に重複したマウントポイントを削除する

たまに、バックアップツールがまるっきり動作しないことがあります(バックアップ先は別なデバイス/ボリュームの場合です。同じボリュームへのバックアップといったケースの方が稀でしょう)。起動はするのに、肝心のバックアップ機能が全く動いていないという現象です。
ほとんどの場合は、マウントポイントのズレが原因です。

何かの拍子に、重複したマウントポイントが作成されて、マウントしたボリュームのパスを利用したファイル/ディレクトリ操作ができなくなるときがあります。
ネットワークボリュームなどをマウント解除しないで再起動した場合などが最もその理由にあたるのでしょうが<http://support.apple.com/kb/TS2474?viewlocale=ja_JP&locale=ja_JP>、再起動以外にもマウント/アンマウントを繰り返していると起こる場合があります。

OS Xではマウントポイントが‘/Volumes’というディレクトリに置かれるようになっています。例えば、‘NetworkDisk’という名前のボリュームをマウントすると、‘/Volumes/NetworkDisk’というマウントポイントが自動的にできて、アンマウントすれば‘/Volumes/NetworkDisk’というマウントポイントは自動的に削除されるという仕組みとなっている訳です。ところが、Apple風にいえば“予期しない再起動”などをきっかけにしてマウントポイントが削除されなかった場合、マウントポイントはディレクトリとして残り、新たにマウントした‘NetworkDisk’という名前のボリュームは‘NetworkDisk-1’(10.9ではハイフンが付いて数字がくるようです)という別なマウントポイント名でマウントされるということが起こる訳です。
そうすると、‘/Volumes/NetworkDisk/…..’というファイルパスを使っているファイル/ディレクトリ指定は無効な設定となる訳で、バックアップツールなどは機能しなくなってしまいます。
対処策は、Appleの解説ページ<http://support.apple.com/kb/TS2474?viewlocale=ja_JP&locale=ja_JP>にあるように、‘/Volumes’から不要なマウントポイントの抜け殻というか空蝉というか空になったディレクトリを削除し、再度当該ボリュームをマウントするということになります。

上記のAppleのページに記載された方法で間違えてはいないのですが、不可視設定の‘/Volumes’にFinderからアクセスするのは面倒です。ましてや、シングルユーザモードで再起動なんて…。

そこで、別な方法で試してみました。

◆Automatorが使えないか?
要は、‘/Volumes’ディレクトリから不要なマウントポイントとなったディレクトリ(空のフォルダ)を削除すれば良い訳で、Automatorのワークフローを試してみました。

1

ステップは間違っていないはずです。
ところが動作しません。試しに、対象フォルダを‘/Volumes’からデスクトップの‘Test’という名前のフォルダにしてみると、そのまま正常動作します。どうやら、システムドメインの不可視フォルダが対象ではフォルダの内容を取得できないということのようです。アクセス権の問題なのでしょう。
どうやら、目論みは頓挫したようです。

◆コマンドラインから試みる
Automatorのワークフローという方法は、いかにもOS Xといった趣で良いと思ったのですが、駄目なら仕方がないので、コマンドラインからなんとかしようとやってみました。
さほど難しいことをやろうとしている訳ではないないのですから。

$ find ‘/Volumes’ -type d -depth 1

これで、‘/Volumes’ディレクトリ内の空のフォルダがピックアップできるはずです。
次は、空フォルダがあったとして、それを削除すればいい訳で、

$ sudo find ‘/Volumes’ -type d -depth 1 -exec rm -fd {} +

とやれば、アクセス権もOKでしょう。
結果、OKのようです。

◆再度Automatorのワークフローにする
ターミナルからコマンドラインで実行するのも面倒なので、Automatorのワークフローにしてみました。
‘sudo’以下をシェルスクリプトの実行モジュールで実行させた場合、パスワードをどうやって組み込むのかがよく分からないので、AppleScriptでやることにしました。

2

問題ないようです。
(確認・保留の手段が一切なく、いきなり削除へいってしまいますので、自己責任でお試しください)

Adobe PDFとして保存—2

ホットキー(キーボードショートカット)ユーティリティというエントリ<http://wp.me/p1Cs3W-5l>で書きましたが、10.9 Mavericks環境でのキーボードショートカットユーティリティの選択で迷っていました。
OfficeドキュメントをAdobe PDFとして保存する際に、プリントダイアログから「Adobe PDF として保存」アプリケーションを呼び出す際に、毎回マウスをドラッグしてポップアップメニューから実行するのは面倒です。これをホットキーで実行できれば、さらにこのホットキーアクションをマクロに組み込めそうです。
そこで、なにを使うかという点で迷っていた訳です。
ここ<http://wp.me/p1Cs3W-5l>で挙げた候補の中から考えてみると、マウスシミュレーション機能とキーボードシミュレーション機能をもったものを拾い上げると、ikey2、Keyboard Maestro6、QuicKeys4の3つに絞られることになります。
調べてみると、QuicKeys4は2009年から更新がありません。iKey2も2011年の2.5.2以降更新が滞っています。現在、OSのアップデートに合わせてアクティブに更新が継続しているのはKeyboard Maestroだけだということに気がつきました。迷う必要はなかったのですね。

使い始めてみると、複数のシーケンスコントロールやメニューへのアクセス、ウィンドウコントロール、クリップボード操作など、機能も充実していてiKeyよりもレスポンスもいいです。

■プリントダイアログで「Save as Adobe PDF.app」を呼び出す
PowerPoint.appから呼び出す場合のマクロです。

2014-01-14 9.20.54

「Pause…」アクションが時間だけでなくウィンドウやアプリケーションウィンドウ、ダイアログなどの状況に合わせられる点が優秀です。「PDF」ボタンをクリックは図のように「Press Button」アクションでなくロケーションクリックでもOKでしょう。
「Save as Adobe PDF.app」を呼び出すところもマウスドラッグ指定でもOKでしょうが、ここは無骨に「↓」キーで確定しています。
このマクロではなんと言っても「Pause Until Condition Met」アクションが機能することが肝でしょう。
このマクロをシーケンスに組み込んで繰り返し実行する際には、「Pause…」アクションが時間指定でしか実行できなかった場合、PowerPoint.appやSave as Adobe PDF.appの反応時間の変動やファイルサイズによるウィンドウの展開などで誤動作が起きる率が跳ね上がります。

■ワークフローに組み込んでみる
Automatorを使って、Finder上でPowerPointドキュメントを選択した状態で実行するワークフローを作ってみました。

2014-01-14 9.37.11

Keyboard Maestroのいいところとして、AppleScriptからマクロ名でマクロを実行できる点が挙げられます。

連続で処理するドキュメントの数やマシンスピードなどによってスクリプト内の「delay」のタイミング調整が必要でしょうが、試してみたところエラーなく動作しました。

Keyboard Maestroは現行バージョンにおいても機能拡張がなされていて、未だ発展途上という楽しみなユーティリティです。

Adobe PDFとして保存—1

先日のエントリ<http://wp.me/p1Cs3W-7P>で、OfficeドキュメントをPDFファイルに変換するワークフローについて書きましたが、この際に使ったアクションでは、カラープロファイルや解像度を指定することができませんでした。
Adobe PDFへの書き出しという方法がとれればこれは解決する問題でしょう。
そこで、Automatorでアクションを探すと、「Adobe PDFとして保存」という名前のアクションが見つかったのですが、図のようにエラーが発生してアクションを適用できません。

1

調べてみると、OS X 10.6の頃からの症状のようで<http://helpx.adobe.com/jp/acrobat/kb/cpsid_88735.html>、“Mac OS X 10.6 上の Automator は 64 ビットアプリケーションのため、32 ビットバイナリの [Adobe PDF として保存] ワークフローは使用できません。”などといったことのようです。
現在、私の環境は10.9 Mavericksです。
このページの“解決方法”のようにAutomatorを32bitモードで起動することもできません。
(OS X 10.6上のAutomatorを32bitモードで起動してワークフローを作ってみましたが、10.9に持って来ると「.workflow」ファイルではやはりアクションの読み込みでエラーが発生します。アプリケーション形式で保存した場合は立ち上がるのですが、期待した処理をしないまま終了します)

2014-01-10 8.23.07アクションを諦めて、‘/Library/PDF Services/Save as Adobe PDF.app’をワークフローに組み込めないかと思ってやってみたのですが、これも「Adobe PDFとして保存」という名前のアクションと同じで、10.9環境ではワークフローに組み込むことができませんでした。
この‘/Library/PDF Services/Save as Adobe PDF.app’は、プリントダイアログ内の「PDF」ボタンからポップアップするメニューからアクセスする以外の使い方はできないようです。
つまり、プリントダイアログから呼び出すことで処理対象を引き渡せる訳で、それ以外の方法で‘Save as Adobe PDF.app’に対象を渡す手段がなさそうだということです。
この「PDF」ボタンからポップアップメニューを毎回マウスで選択するというのも難儀な話です。

2

■「Save as Adobe PDF」へアクセスする方法
このプリントダイアログを介して、「Save as Adobe PDF」へアクセスする方法としては、

  • AppleScriptでUI Elementsを介して「PDF」ボタンから「Save as Adobe PDF」へアクセスする
  • キーボードショートカットユーティリティを使って、「PDF」ボタンから「Save as Adobe PDF」へアクセスする

といったことが考えられますが、AppleScriptでUI Elementsをコントロールするというのは、メニューバーからメニューアイテムくらいはなんとかなりますが、ポップアップボタンのアイテムなどになると信頼できる経験が思い浮かびません。単発でのマクロとしては動作しても、連続して複数回運転するには、処理速度がランダムに変動してそのうちイベントを取りこぼすというのが簡単に想像できて、ここでは考えたくない手段です。
従って、キーボードショートカットユーティリティを使うことになりそうなのですが、さて、なにを選ぶといいのか、思案のしどころです。

Automatorを使ってMS Office 2011でPDFドキュメントへの変換をする

400くらいの数のPowerPointとWordのファイルから画像・写真を抜き出すはめになりました。
方法としては、

  • 1つずつ画像・写真をコピーしてPhotoshopに貼って新規保存する
  • 1つずつ画像・写真を選択して、画像フォーマットで保存する
  • それぞれのどキュメントをPDFファイルへ変換する

などでしょうか。どれにしても手間はかかりそうです。同じ名前でPDFファイルへ変換できるようであれば、これが一番バッチ処理を組みやすいでしょう。
OfficeスイートがAutomatorに対応しているということは聞いていましたので、なにが出来るか、Automatorを立ち上げてアクションを調べてみました。

■PowerPointのAutomatorアクション
PowerPointのアクションでは、「PowerPointプレゼンテーションの形式を変換」が使えそうです。

1

図のようにこのアクションだけで実行してみましたが、PowerPoint.appの最前面のドキュメントウィンドウに対しても何の動作もしません。このアクションへ処理対象を引き渡すアクションが必要なようです。
そこで、次のようにFinderから対象ファイルをPowerPoint.appへ引き渡してから「PowerPointプレゼンテーションの形式を変換」アクションに引き継ぐことにしてみました。当たりでした。

pptx

実行してみると、対象ファイルと同じフォルダに「同じ名前」+「.pdf」という名前で保存され、対象ファイルのウィンドウは自動的に閉じられます。
作成したワークフローは、スクリプトメニューの中に保存し、Finder上で対象ファイルを複数選択してからメニューバーからこのワークフローを実行する方法をとることにしました。
色々とやってみると、誤動作無しで処理が終了するのは、一度に10ファイルくらいが適当なようで、20ファイルを超えるとエラーが発生するようになりました。
この辺りは、マシンの搭載メモリ数にも関係しそうです。

■Word、Excelの場合
Word、Excelの場合には「形式を変換」というようなアクションがなく、「…保存」というアクションで対処するようです。
アプリケーションから別名で保存を実行したときのオプションが選択できるアクションです。そこで、次のようにそれぞれ設定して実行してみました。

word_excel

Excelでは成功しましたが、Wordからはファイルは出来るのですが、PDFファイルとしては正常に開けません。
マニュアルで、Wordから別名保存でPDF形式に書き出した場合は正常なPDFファイルが生成されるのですが….。

■まとめと課題
「PowerPointプレゼンテーションの形式を変換」アクションで作成したPDFファイルも、Excelから別名保存アクションで作成したPDFファイルも、Finder上で情報を見ると、OS Xの‘Quartz PDFContext’でエンコーディングされたという表示となっていますので、OS Xのシステム側の処理でPDFファイル化されているということが分かります。

quartz
残念なことに、この方法では、Windows環境+Adobe Acrobatの組み合わせのようにオプションで画像解像度やプロファイルを指定するということが出来ません。
DTPでの画像利用を考えると、アプリケーションの別名保存でのPDFファイルへの書き出し(その機能を使ったAutomatorのバッチ処理)では、解像度やカラープロファイルの設定は出来ないということが分かっただけでした。
Adobe PDFファイルへの書き出しとバッチ処理を少し考えてみようと思います。

Automatorでランダムデスクトップピクチャー設定—Random_DesktopPicture.workflow

今回は、本当に小ネタです。
デスクトップピクチャーの切り替えのために、AppleScriptでスクリプトを書いていました。

property PictFolderPath : "SkyDrive:Photos"
on run
	set DocF to path to home folder from user domain as Unicode text
	set PictFolder to (DocF & PictFolderPath)
	tell application "Finder"
		set previousPict to desktop picture
		set targetPict to some item in alias PictFolder
		if targetPict is previousPict then set targetPict to some item in alias PictFolder
		set desktop picture to targetPict
	end tell
end run

フォルダ‘/SkyDrive/Photos’には画像ファイルしか入れていませんので、ここでは画像ファイルかどうかの判定もしていません。
無作為にピックアップしますので、もし現在のものと同じものを選んでしまった場合は、更に無作為に抽出するという方法となっています。

この画像ファイルが入ったフォルダを複数指定したくなってきました。となると、

  • 複数の画像フォルダのリストを作る
  • その中から、サブフォルダがあればその中まで拾って、画像ファイルだけをピックアップする
  • ピックアップされたアイテムのパスをリストに加工する

という作業が必要です。何行くらいかかるか考えていると、少々面倒になってきました。

■Automatorのアクションを使えば簡単では?
そこで、Automatorのアクションを使って、画像ファイルのフィルタリングをやってみようと思い立った次第です。

2013-11-14 3.02.54

Automatorでワークフローを作成すると、簡単に「Finder項目の取得」でターゲットフォルダのパスが拾えますし、ターゲットフォルダ内のアイテムからイメージファイルだけをピックアップするということが「フォルダの内容を取得」で容易にできます。また、複数のフォルダを指定するのが実に簡単で、フォルダの差し替えも簡単です。
これをAppleScriptだけでやるとそれなりの行数を書かなくてはならないところですが、Automatorでは実に簡単なアクションの組み合わせで実現できてしまいます。
(ピクアップされた画像ファイルからランダムにデスクトップピクチャーを指定するところでは、残念ですが(?)AppleScriptでやっています)
このファイル/フォルダの操作の簡便さに、SpotlightやTime Machine、Finderのラベルやスマートフォルダ、HFS+の拡張属性など、最近のOS Xが目指す方向性の一端が窺えるのでしょう。

「.DS*」と「._*」で始まる不可視ファイルの削除をAutomatorで—DeleteDotFiles

2007年、OS X 10.4 Tigerの頃に、DeleteDotFiles.appという名前で「.DS*」と「._*」で始まる不可視ファイル削除用のアプリケーションをリリースしたのですが、その後、メンテナンスモードに入ってそのまま放置していました。それでも、現在も古いリンクは切らさないでいるのですが、未だに結構な数のダウンロードアクセスがあります。
私個人は、それ程必要とするツールではないのですが、それなりに需要があるのでしょう。
そこで、同等の機能をAutomatorで作成してみることにしました。
基本的には、

$ find ‘thisFolder’ -name ‘.DS*’ -print0 | xargs -0 rm -fd
$ find ‘thisFolder’ -name ‘._*’ -print0 | xargs -0 rm -fd

を繰り返しているだけなのですが、AppleScriptだけで作成すると、フォルダの振り分けやエラー処理/ダイアログ周りなどに結構手間がかかります。

そこで、面倒な部分をAutomatorに振ってシンプルに何処までできるかやってみました。

2013-11-11 9.34.51 2013-11-11 9.36.19

図のように、ワークフローとサービスでは若干アクションの構成が変わります。
処理は結局AppleScriptでやってしまいました。複数の変数をloopで処理するには慣れた手法の方が楽なので、つい。
ここをシェルスクリプトでやれるともう少し処理が速いのでしょう。
AppleScriptの部分だけテキストで記しておきます。

on run {input, parameters}
	repeat with f in input as list
		set target to POSIX path of (f as alias) as Unicode text
		set Name_appendixList to {".DS*", "._*"}
		repeat with i in Name_appendixList
			do shell script "find " & quoted form of (target) & " -name " & quoted form of i & " -print0 | xargs -0 rm -fd"
		end repeat
	end repeat
end run

‘rm’のオプションで‘-d’を使っていますので、「.DS*」と「._*」で始まるフォルダがあればそれも削除対象になります。ディレクトリを対象にしないのであれば、このオプションは省いて下さい。
管理者権限でないとアクセスできないフォルダに関しては、5行目を次のようにすればいいでしょう。

		do shell script "find " & quoted form of (target) & " -name " & quoted form of i & " -print0 | xargs -0 rm -fd" password "User password" with administrator 

■補足—蛇足
コマンドの‘find…’以下は次のようにも書けます。

$ find ‘thisFolder’ -name ‘*.DS*’ -exec rm -fd {} \;

あるいは

$ find ‘thisFolder’ -name ‘*.DS*’ -delete