В папке с восстановленными файлами отсутствуют имена - Как мне найти тот, который я ищу, по содержимому файла?

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

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

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

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


person kurasa    schedule 25.06.2010    source источник
comment
Вы пытались использовать обычный поиск Windows по файлам?   -  person mdma    schedule 25.06.2010


Ответы (1)


Если обычный поиск не работает, попробуйте встроенный скрипт, из которых вы можете использовать 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();
}

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

person MooGoo    schedule 25.06.2010