Batch file 循环浏览一个文件夹中的一组文件

Batch file 循环浏览一个文件夹中的一组文件,batch-file,dos,Batch File,Dos,我需要遍历文件夹中的特定文件,并将它们合并到一个文件中,并希望使用批处理文件来实现。我的文件如下所示 ILCY_NEW_20110908123008 ILCY_NEW_20110908123009 ILCY_NEW_20110908123010 意思是,ILCY\u NEW\u时间戳。该文件夹将有其他文件以及,但我只需要与今天的时间戳。因此,我编写了以下代码来循环遍历所有文件,并将名称组合成变量CL set tt=%yyyy%%mm%%dd% for %%f in (ILCY_NEW_%tt%

我需要遍历文件夹中的特定文件,并将它们合并到一个文件中,并希望使用批处理文件来实现。我的文件如下所示

ILCY_NEW_20110908123008
ILCY_NEW_20110908123009
ILCY_NEW_20110908123010
意思是,
ILCY\u NEW\u时间戳
。该文件夹将有其他文件以及,但我只需要与今天的时间戳。因此,我编写了以下代码来循环遍历所有文件,并将名称组合成变量
CL

set tt=%yyyy%%mm%%dd%
for %%f in (ILCY_NEW_%tt%* . *) do set cl=%cl%+%%f 
set cl=%cl:~1%
echo %cl%
copy %cl% ILCY_NEW_CQ.csv

但是,只有最后一个文件被选中,并且它只被复制到
ILCY\u NEW\u CQ.csv
中,忽略所有以前的文件,即使它们的名称中有今天的时间戳。有人能帮我吗?

我无法让您的日期逻辑在我的机器上运行,但假设您的for循环正确地获取了正确的文件名,您可以执行以下操作:

set tt=%yyyy%%mm%%dd%
for %%f in (ILCY_NEW_%tt%*.*) do type "%%f" >> ILCY_NEW_CQ.csv

“>>”将附加到文件中(与“>”相反,后者将覆盖该文件)。请参阅以获取参考。

复制命令可以自行处理通配符:

set tt=%yyyy%%mm%%dd%    
copy ILCY_NEW_%tt%*.* ILCY_NEW_CQ.csv

如果您需要自动生成今天的时间戳,请在serg的copy命令中使用此小for循环:

FOR /F "USEBACKQ tokens=2-4 delims=/ " %%A IN (`date /t`) DO (
 SET tt=%%C%%A%%B & copy /y "ILCY_NEW_%tt%*.*" "ILCY_NEW_CQ.csv"
)