File io 在DigitalMicrograph脚本中打开文件夹中的多个文件

File io 在DigitalMicrograph脚本中打开文件夹中的多个文件,file-io,dm-script,File Io,Dm Script,我正在尝试编写一个数字显微照片脚本,它可以打开文件名中包含特定字符串的所有图像 我知道如何使用OpenImage(filename)打开图像,并且我在文档中看到存在一个命令GetFilesInDirectory(),这似乎是我所需要的。但是,我不明白如何使用此命令。有人能给我一个代码片段来演示这一点吗?命令GetFilesInDirectory()提供给定目录中所有文件/子文件夹的标记列表。如下例所示: String folder TagGroup FileList number fFiles

我正在尝试编写一个数字显微照片脚本,它可以打开文件名中包含特定字符串的所有图像


我知道如何使用
OpenImage(filename)
打开图像,并且我在文档中看到存在一个命令
GetFilesInDirectory()
,这似乎是我所需要的。但是,我不明白如何使用此命令。有人能给我一个代码片段来演示这一点吗?

命令
GetFilesInDirectory()
提供给定目录中所有文件/子文件夹的标记列表。如下例所示:

String folder 
TagGroup FileList
number fFiles   = 1
number fFolders = 2

If ( !GetDirectoryDialog( "Select base folder", "", folder ) ) 
    Exit(0)

FileList = GetFilesInDirectory( folder, fFiles + fFolders )

If ( FileList.TagGroupCountTags() > 0 ) 
    FileList.TagGroupOpenBrowserWindow( "Files & Folders", 0 )
此脚本将在如下浏览器窗口中显示生成的标记组。每个列表条目本身就是一个标记组,其中包含一个标记“Name”。此标记包含文件或文件夹名称。您可以使用该命令仅提供文件、子文件夹或两者

一旦您拥有所有条目的标记组,您的处理就像数字显微照片中的任何其他标记组一样。例如,您可以浏览列表以读取字符串,然后简单地将其打印到结果窗口,如下所示:

number nTags = FileList.TagGroupCountTags()
for ( number I = 0; I < nTags; i++ )
{
    TagGroup entryTG
    FileList.TagGroupGetIndexedTagAsTagGroup( i, entryTG )
    if ( entryTG.TagGroupIsValid() )
    {
        string filestr
        if ( entryTG.TagGroupGetTagAsString( "Name", filestr ) )
        {
            Result( "\n File:" + filestr )
        }
    }
}
number nTags=FileList.TagGroupCountTags()
对于(数字I=0;I