var layerName = layer.name;
//replace weird characters in layer names
var layerName = layerName.replace(")", "-");
var layerName = layerName.replace("(", "-");
var layerName = layerName.replace(":", "-");
var layerName = layerName.replace(":", "-");
var layerName = layerName.replace(/\//, "-");
var layerName = layerName.replace('/', "");
var layerName = layerName.replace("---", "-");
var layerName = layerName.replace("--", "-");
var file = new File(folder.fsName+"/"+layerName+".png");
拡張スクリプトを使用していますが、何らかの理由で2つの「--」文字を置き換えません。正規表現を使えばもっと簡単にできる気がしますが、私はそれが苦手です。すべての奇妙な英数字以外の文字とスペースを「-」に置き換えようとしています