Simple loop
for f in *.fdx; do
screenjson convert -i "$f" -o "${f%.fdx}.json"
done
Works in bash and zsh.
Parallel, with xargs
ls *.fdx | xargs -n 1 -P 8 -I{} \
sh -c 'screenjson convert -i "$1" -o "${1%.fdx}.json"' _ {}
-P 8 runs 8 conversions in parallel. Adjust to taste.
Convert + validate
for f in *.fdx; do
out="${f%.fdx}.json"
screenjson convert -i "$f" -o "$out"
screenjson validate -i "$out" --strict || echo "INVALID: $out"
done
When the volume gets serious
Past a few hundred files, this is what Greenlight is for: it gives you a Redis-backed job queue, S3 ingestion, retries, and a UI for watching progress. Use the shell patterns above for one-off runs; use Greenlight when “one-off” becomes “weekly batch”.