Папка восстановленных файлов с отсутствующими именами. Как найти содержимое искомого файла по содержимому файла? - PullRequest
0 голосов
/ 25 июня 2010

Мне удалось случайно удалить резервную копию файлов, которые я потом восстановил.Восстановление потеряло имена файлов и местоположение, и у меня осталось около 3000+ .indd (Adobeb InDesign) файлов.

Моя проблема в том, что я пытаюсь найти файл .indd, над которым я работал, без необходимости открывать каждый файл вручную для проверки.

Я знаю некоторые слова, которые у меня были, иМне интересно, смогу ли я прочитать файл .indd с помощью бинарного ридера в поисках одного из ключевых слов ... Я мог бы построить его на c # или на любом другом языке

У кого-нибудь есть идеи?

1 Ответ

1 голос
/ 25 июня 2010

Если обычный поиск не работает, попробуйте встроенный сценарий, для которого вы можете использовать Javascript, Visual Basic Script или AppleScript для кодирования.Я собираюсь с JS ...

Я не эксперт, но я нашел этот фрагмент кода на странице 101 из InDesignCS5_ScriptingGuide_JS.pdf и немного его изменил:

var folder = new Folder("C:/Path/To/Files");
var files = folder.getFiles('*.indd');

for (var i=0; i<files.length; i++) {
    var file = files[i];  
    open(file):

    var myDocument = app.activeDocument;

    //Clear the find/change text preferences.
    app.findTextPreferences = NothingEnum.nothing;
    app.changeTextPreferences = NothingEnum.nothing;

    //Search the document for the string "Important Text".
    app.findTextPreferences.findWhat = "Important Text";

    //Set the find options.
    app.findChangeTextOptions.caseSensitive = false;
    app.findChangeTextOptions.includeFootnotes = true;
    app.findChangeTextOptions.includeHiddenLayers = true;
    app.findChangeTextOptions.includeLockedLayersForFind = true;
    app.findChangeTextOptions.includeLockedStoriesForFind = true;
    app.findChangeTextOptions.includeMasterPages = true;
    app.findChangeTextOptions.wholeWord = false;

    //Perform search
    var myFoundItems = myDocument.findText();
    if (myFoundItems.length) {
        alert("FOUND!");
        break;
    }

    app.findTextPreferences = NothingEnum.nothing;
    app.changeTextPreferences = NothingEnum.nothing;

    myDocument.close();
}

Не цитируйте меня об этом, я на самом деле не запускал код, но это идея.

...