【projectItemRenamer.jsx】新規テキスト.クイックアクション 2【開発記】
AfterEffects の作業でリネームが毎回しんどいので環境整備の一環としてツールを作る🤤
環境確認 ←今ココ
草案作成
UI構築
環境読込
準備処理
選択判定
候補処理
選択処理
改名処理
環境保存
前回の #Automator .app で作った新規テキスト生成の #クイックアクション をもうちょい改造するする🤤
入力変更
まず「入力なし」にして Finder メニューからサービスを選択実行する状態から修正。
ファイルかフォルダ選択に変更してフォルダならその中、ファイルならそのファイルがある階層にしようかな🤔
前回は入力文字列が無い(無選択)なら home を設定にしてたんだけど Desktop の方が良いよね?☺️
ついでに入力がファイルだったらファイル名を削ぎ落としたパスにするようにしたのが上の状態。
複数入力の想定
入力1がファイルか入力数が1超過なら入力1のある階層名を取得、という判定…
入力がファイル・フォルダになったので再び右クリック(要アイテム選択)で選べる様になったのだけどなぜか(↑写真で)選択しているフォルダが有る階層名が返ってきて、そこにテキストファイルが作られる。
想定では選択されてるフォルダ内にできる筈なのに…😞
Automator.app 上と Finder 上で入力に違い
色々調べていた結果、開発環境上と実動作上では入力に違いがある事が判明🙄
Automator.app 上では理論通りの入力なんだけど Finder 上ではなんかめちゃくちゃな入力になってた。
1つしか選択していないのに $1 $2 に同じパスが入ってくる。意味がわからない🙄
Automator.app 上で実行するとちゃんと $1 だけで $2 は空。ナニコレ😞
それに対応した状態がこちら
式としては
$1 がファイル or $2 が空で $1 と同じパスではない なら真
なんとかテキストファイルを生成できた☺️
ファイルを右クリックしなくてもメニューから選べば同じ。
念の為、何もファイルが渡されない(ストレージの最上位で無選択)状態も考慮して Desktop にする式は残しておく、と🤤
よく見ると入力が繋がっている
で、テキスト開いてみたらなんかパスの文字列が入ってるのね?🙄
どうやら最後にいじった変数や出力がそのまま流れていくみたい😞
で、↑写真みたく入力を切断すると、今度はテキストファイルが作成されない🙄
挙動としてはなにかしらの入力を受け取ってそれをファイルに流し込むという処理っぽい。
これは "" (いわゆる null string)を設定すれば良い…筈…🤪
変数を作成して
前処理の流れから入力されいないように念の為切断
変数オプション設定してるとこの写真見ると
値 : Text
ってなってるじゃない?
これ、型じゃなくて値なのよね。(値って書いてあるじゃん🤪
なのでそのままだとテキストファイルの中身が「 Text 」になるwwwwwヒドスwww
値を無くして再実行したら漸く想定通りの動作になりましたとさ😞