650 :名無しさん@編集中:2011/04/05(火) 22:33:43.01 ID:tnobkwu6
指定したフォルダ以下のある aep ファイルを全部集めて aerender.bat に書き込み、 
一気にレンダリングできるようにするスクリプトです。




どれだけ階層があってもファイルを探して集めてこれます(書き換えれば特定の名前だけ探すことも可能)。 
もし職場でファイル名とレンダリングするコンポジションの名前に規則性があれば、 
レンダーキューがなくてもレンダリング可能なように改造もできます。 
shell script なので Windows に cygwin が必要です。 

#!/bin/bash 
echo "start..." 
readonly mk_time=$(date +%Y_%m%d_%H%M) 
readonly AERENDER_START='start "aerender" /W /D' 
readonly CYGWIN_DIR="/cygdrive/" 

# ユーザー設定(aepファイルを検索する場所を書く) 
AEP_DIR="d/Projects/AfterEffects" 

# ユーザー設定(aerender.batを出力する場所を書く) 
BAT_DIR="d/output" 

# ユーザー設定(aerender.exeの場所を書く) 
AERENDER_DIR="\"C:\Program Files (x86)\Adobe\Adobe After Effects CS4\Support Files\"" 

# レンダーオプション (/normal) 
AERENDER_OP="/low aerender.exe" 


651 :名無しさん@編集中:2011/04/05(火) 22:35:48.81 ID:tnobkwu6
aerender_filename=aerender${mk_time}.bat 
FIND_AEP_FILE_DIR=${CYGWIN_DIR}${AEP_DIR} 
OUTPUT_AERENDER_FILE_DIR=${CYGWIN_DIR}${BAT_DIR}/ 

echo "${CYGWIN_DIR}${AEP_DIR} から .aep を検索します" 
echo 

# "*.aep" を書き換えれば違う名前でも検索できます。 
#(例) "*_R.aep" 
for aep_file in `find ${FIND_AEP_FILE_DIR} -type f -name "*.aep"` 
do 
cov_dir=`echo ${aep_file} | sed -e 's/\/cygdrive\///' -e 's/\//\\\/g'` 
drive_name=`echo ${cov_dir} | cut -c 1` 
drive_name=`echo ${drive_name} | tr '[a-z]' '[A-Z]'` 
drive_name2="${drive_name}:" 
cov_dir_lengh=${#cov_dir} 
cut_win_dir=`echo ${cov_dir} | cut -c 2-${cov_dir_lengh}` 
aerender_win_dir=${drive_name2}${cut_win_dir} 

echo "====> "${aerender_win_dir}" を追加中" 
AERENDER_FORMAT="${AERENDER_START}${AERENDER_DIR} ${AERENDER_OP} -project \"${aerender_win_dir}\"" 
echo ${AERENDER_FORMAT} 
echo ${AERENDER_FORMAT} >>${OUTPUT_AERENDER_FILE_DIR}${aerender_filename} 
echo 
done 

echo "====> aerender.batの出力場所" 
echo "====> "${OUTPUT_AERENDER_FILE_DIR}${aerender_filename} 

以上です。 


654 :名無しさん@編集中:2011/04/06(水) 07:17:26.31 ID:c0hJP0nM
面白いね 
でも定数の直書きは不便だから、引数で出力場所や回収するディレクトリの指定ができるようになれば、汎用化しやすくなるね 

あとbatの内容を標準出力に出すオプションがあれば、結果をリダイレクトするもよし、grepで絞るもよし、パイプで即コマンドラインに渡せたりといろいろ広がるんじゃないかな 
PerlやPHPから呼べれば、ブラウザ上からでもレンダリング指示飛ばせるし夢も広がりますねw ともあれGJでした