循环访问一个文件夹中的一组文件
我需要循环遍历文件夹中的特定文件并将它们合并到一个文件中,并希望使用批处理文件来实现。我的文件如下所示。
ILCY_NEW_20110908123008
ILCY_NEW_20110908123009
ILCY_NEW_20110908123010
意思是,ILCY_NEW_时间戳
。该文件夹还将包含其他文件,但我只需要带有今天时间戳的文件。因此,我编写了以下代码来循环所有文件并将名称组合到变量 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_NEW_CQ.csv
中,而忽略所有以前的文件,即使它们的名称中包含今天的时间戳。有人可以帮我吗?
I have a requirement to loop through the particular files in a folder and merge those into one file and want it to achieve using a Batch file. My files look like below.
ILCY_NEW_20110908123008
ILCY_NEW_20110908123009
ILCY_NEW_20110908123010
meanining, ILCY_NEW_timestamp
. The folder will have other files as well but I only need ones with today's timestamp. So I have written the following code to loop through all the files and combining the names into variable 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
But, only the last file gets selected with this and it only gets copied into ILCY_NEW_CQ.csv
ignoring all previous files, even though they have today's timestamp in the name. Can anyone help me here please?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我无法让你的日期逻辑在我的机器上工作,但假设你的 for 循环正确地获取了正确的文件名,你可以这样做:
'>>'将附加到文件(与“>”相反,“>”会覆盖它)。请参阅此页面以供参考。
I can't get your date logic to work on my machine, but assuming that your for loop is correctly getting the right filenames, you can do something like this:
The '>>' will append to the file (as opposed to '>', which would overwrite it). See this page for reference.
Copy 命令可以自行处理通配符:
Copy command can handle wildcards by itself:
如果您需要自动获取今天的时间戳,请使用这个小 for 循环与 serg 的复制命令:
If you need the time stamp for today automatically, use this little for loop with serg's copy command: