Rename each word starting with Capital, BUT excluding specified words

You'll need a rename script.

Save 49637.orp to   

%appdata%\GPSoftware\Directory Opus\Rename Presets
JScript
// https://resource.dopus.com/t/rename-each-word-starting-with-a-capital-but-excluding-specified-words/49637

function OnGetCustomFields(getFieldData) {
    getFieldData.fields.alwaysLC = '';
    getFieldData.fields.alwaysLC.label = 'Lower Case';
    getFieldData.fields.alwaysLC.tip = 'Enter words that are always in lower case';

    getFieldData.fields.alwaysUC = '';
    getFieldData.fields.alwaysUC.label = 'Upper Case';
    getFieldData.fields.alwaysUC.tip = 'Enter words that are always in upper case';
}

function OnGetNewName(getNewNameData) {
    var alwaysLC = getNewNameData.custom.alwaysLC;
    var alwaysUC = getNewNameData.custom.alwaysUC;

    var testLC = ' ' + alwaysLC.toLowerCase().replace(/[^a-z ]/g, '') + ' ';
    var testUC = ' ' + alwaysUC.toLowerCase().replace(/[^a-z ]/g, '') + ' ';

    var allWords = getNewNameData.newname_stem.split(' ');

    for (var i = 0; i < allWords.length; i++) {
        var test = ' ' + allWords[i].toLowerCase().replace(/[^a-z]/g, '') + ' ';

        if (testLC.indexOf(test) >= 0) {
            allWords[i] = allWords[i].toLowerCase();
        }

        if (testUC.indexOf(test) >= 0) {
            allWords[i] = allWords[i].toUpperCase();
        }
    }

    return allWords.join(' ') + getNewNameData.newname_ext;
}

How to use Rename Presets from this forum

1 Like