スクリプトを作る場合には当然欲しくなります。
でも Photoshopの Presets\Scripts を直接リポジトリに登録するとなると色々面倒。
とりあえず別のところをSVNへコミットしておいてバッチファイルでコピーするのが妥当かな?
まずは、コピーするとき.jsxファイルがバラバラになっていると Presets\Scripts のなかもグチャグチャになるので、スクリプトごとにフォルダへまとめてソレをコピーする感じにしようと思います。
このことを前提にバッチを組んでいるので要注意。
で、バッチファイル。
@title %~nx0 @prompt %~n0$G :: コピーするフォルダ名 set SCRIPT=hoge :: Adobe フォルダがあるか調べる @set ADOBE_PATH=%ProgramFiles%\Adobe\ @if not exist "%ADOBE_PATH%" goto :errAdobe :: Photoshop フォルダを探す @set SRC_FOLDER=%~dp0%SCRIPT% @for /f "delims=*" %%F in ('dir /b "%ADOBE_PATH%" ^| find "Photoshop"') do call :copyAction "%%F" @goto :endProcess ::------------------------------------------------------------------------------ :copyAction @set DST_FOLDER=%ADOBE_PATH%%~1\Presets\scripts\%SCRIPT%\ @if not exist "%DST_FOLDER%" md "%DST_FOLDER%" xcopy "%SRC_FOLDER%" "%DST_FOLDER%" /s /y @exit /b :errAdobe @echo Adobe のフォルダが見つかりません @goto :endProcess :endProcess @pause
単にコピーするだけでは芸がないので、どんなバージョンのPhotoshopにも対応してみました。
ポイントは3箇所。
13行目でdelimsを設定しないとスペースで分割されてしまうのでダミーの文字を指定して分割されないようにしています。
同じく13行目、セット内でdirをfindへパイプするために ^| とエスケープさせています。
20行目callで渡された値はスペースで分割されないようダブルクォーテーション付きで渡されているので%~を使ってダブルクォーテーションを省いています。
たぶんコレでいけるはず。
0 件のコメント:
コメントを投稿