8

そのため、Finder のコンテキスト メニューに配置され、現在のディレクトリに新しいドキュメントを作成できるサービスを作成しようとしています。

私は Automator を使用してそれを行ってきました: 自動化プロジェクト 申し訳ありませんがすべてフランス語です ^^

とにかく、現在の作業ディレクトリを取得するために使用しているAppleScriptは次のとおりです。

on run {input, parameters}
    tell application "Finder"
        set pwdAlias to insertion location as alias
        if not (exists folder pwdAlias) then
            set pwdAlias to (container of pwdAlias) as alias
        end if
    end tell
    set pwd to POSIX path of pwdAlias
    return pwd
end run

次に、この値を変数に設定し、その変数をドキュメントのパスとして使用して新しいテキスト ドキュメントを作成し、最後に [Reveal in Finder] コマンドを使用して作成したドキュメントを表示します。

スクリプトが常に遅れているように見えることを除いて、すべてが正常に機能しています。つまり、新しい Finder ウィンドウを開いてサービスを選択すると、以下に示すように、前のウィンドウに文書が体系的に作成されます。 新しいドキュメントの作成を選択 ドキュメントが間違った場所に作成されている

しかし、もう一度試してみると、ドキュメントは予想される場所に適切に作成されています。 新しいドキュメントの作成を再試行しています 今度はちゃんとドキュメントが作成されました!

そして、これは非常に体系的で、毎回発生します!!

あまり明確でない場合は申し訳ありませんが、説明するのは簡単ではありません!

それ以外の場合は、Mountain Lion を実行しており、Automator プロジェクトが添付されています: create_new_document

サービスを追加するには、ファイルを解凍して ~/Library/Services/ の下に置くだけです

いくつかの回答を得たいと思っていますが、これは Automator のバグにすぎないのではないかと心配しています!

4

2 に答える 2

7

これを試してここに画像の説明を入力

  • クリックしたいものに応じて

選択したサービスを「フォルダ」または「ファイルまたはフォルダ」に設定します。「Finder.app」内

  • 最初の Finder ウィンドウ パスを取得する アクション

Get first Finder Window path アクションは、こちらのブログ投稿からダウンロードでき ます。ダウンロードは投稿の下部にあります。Action は、最前面のファインダー ウィンドウの posix パスを取得します。ウィンドウ内のフォルダをクリックしているため。そのウィンドウが返されます。

  • 変数の設定値

  • 指定されたテキストを取得

次のアクション「テキスト ファイルの新規作成」には入力が必要です。何も取得しない場合、ファイルは作成されません。テキスト フィールドは空白のままにできます。アクションを配置するだけで機能します。

  • 新しいテキスト ファイル

変数 'path' または名前を付けたものを Where: ドロップダウン メニューにドラッグします。

Automator ウィンドウの下部にある青い二重線をクリックして、ワークフロー変数リストを切り替えることができます

ワークフロー変数一覧

サービスを保存します。そして試してみてください。(コンテキスト メニューに表示されるまで少し時間がかかる場合があります。)

于 2012-11-11T04:20:25.317 に答える
3

これは、10.7 および 10.8 の未解決のバグです。

この回避策を使用してください

on run {input, parameters}
    activate application "System Events"
    activate application "Finder"
    tell application "Finder"
        set pwdAlias to insertion location as alias
        set pwdAlias to (container of pwdAlias) as alias
    end tell
    return POSIX path of pwdAlias
end run
于 2012-08-29T20:07:36.617 に答える