0

我设法意外删除了我后来恢复的文件备份。恢复过程丢失了文件名和位置,剩下大约 3000 多个 .indd (Adobeb InDesign) 文件。

我的问题是我试图找到我正在处理的 .indd 文件,而不必手动打开每个文件进行检查。

我知道我拥有的一些单词,我想知道是否可以使用二进制阅读器来读取 .indd 文件,以查找其中一个关键字……我可以用 c# 或其他方式构建它

有人有什么想法吗?

4

1 回答 1

1

如果常规搜索不起作用,请尝试内置脚本,其中您可以使用 Javascript、Visual Basic 脚本或 AppleScript 进行编码。我去JS...

我不是专家,但我从InDesignCS5_ScriptingGuide_JS.pdf第 101 页找到了这段代码片段,并对其进行了一些修改:

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();
}

不要引用我的话,我实际上并没有运行代码,但这就是想法。

于 2010-06-25T04:51:41.697 回答