在文件夹中搜索大量特定文件名

法布里齐奥

我有一个包含很多文件的文件夹,即:

C:\Tmp\Input\random00001.txt
C:\Tmp\Input\random00002.txt
C:\Tmp\Input\random00003.txt
...
C:\Tmp\Input\random10000.txt

我有一个大列表(大约两/三百个)需要复制到另一个文件夹的特定文件名,即:

random00002.txt
random00009.txt
random04001.txt
...
random90000.txt

我已经尝试使用 Windows 搜索来使用OR关键字分隔文件名,但是文件太多并且它会切断过滤器字符串...

使用 OR 关键字进行 Windows 搜索的屏幕截图

我还尝试编写一个允许使用过滤器复制文件的函数,但它似乎不适用于OR关键字

uses
  SysUtils, IOUtils;

procedure CopyFiles(const AInputPath : string; const AOutputPath : string; const AFilter : string = '*.*');
var
  Found : boolean;
  Res: TSearchRec;
begin
  Found := (FindFirst(AInputPath + AFilter, faAnyFile, Res) = 0);
  while(Found) do
  begin
    if((Res.Attr AND faDirectory = 0) AND (Res.Name <> '.') AND (Res.Name <> '..')) then
    begin
      TFile.Copy(AInputPath + Res.Name, AOutputPath + Res.Name);
    end;
    Found := (FindNext(Res) = 0);
  end;
  FindClose(Res);
end;
管理层收购

如果您有要复制的名称列表,则检查当前名称是否属于此列表就足够了

if((Res.Attr AND faDirectory = 0) AND (Res.Name <> '.') AND (Res.Name <> '..')) then
    begin
      if  Res.Name in Names then
        TFile.Copy(AInputPath + Res.Name, AOutputPath + Res.Name);
    end;

的实现if Res.Name in Names取决于细节 - 名称可能是字典、字符串列表、已排序的等等((你没有指定细节)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Windows仅在特定的文件夹名称中搜索特定的文件名

AWS CLI 文件名搜索:只查看特定文件夹内?

按文件名搜索文件夹并打印内容

搜索特定文件夹中的文件

C#代码在Windows文件夹中搜索确切的文件名

根据文件名中的特定模式移动文件,同时保留文件夹结构

如何从特定文件夹中提取文件,文件名存储在python列表中?

VBA循环浏览具有特定文件名的文件夹中的文件

将文件名保存到特定文件夹

从包含SSIS中特定文本的文件夹中过滤文件名

特定文件夹中的Outlook搜索

如何在Python的特定文件夹中更改几个文件名?

使用任何 QT 小部件打印特定文件夹中的文件名

将excel中的文件名移动到特定文件夹

如何递归总结文件夹中特定文件名的大小

提取特定的文件名并将其放入其名称的文件夹中

如何从 SharePoint 文件夹中获取文件名

如何重命名文件夹中的文件名?

如何列出文件夹中的文件名

检测文件夹中缺少的文件名

基于文件名中的单词的子文件夹?

雷鸟更改Maildir文件夹中的文件名

附加到文件夹中的文件名

重命名文件夹中的文件名

搜索与另一个文件夹中的另一个文件名匹配的文件

如何将文件复制到文件中包含文件名的特定文件夹?

从具有指定文件夹名称的文件夹结构中获取文件名

在特定扩展名的文件中搜索字符串后提取文件夹名称

PHP搜索文件夹中具有特定后缀和扩展名的文件