首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在批处理脚本中使用COPY命令

在批处理脚本中使用COPY命令
EN

Stack Overflow用户
提问于 2013-10-15 23:53:53
回答 1查看 233关注 0票数 0

我需要从2个diff目录中获取日志文件,并根据logfilename上的一些条件将它们复制到同一个目标目录中。基于日志文件名获取日志的逻辑工作正常,并且它们被打印到控制台。

以下是脚本:

代码语言:javascript
运行
复制
@ECHO OFF
for /f "delims=" %%F in (
dir /b "C:\temp1\*web_feed*.out*.gz"^|findstr "^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]\.) do if "%%F" geq "20130101" if "%%F" lss "20130931" echo %%F
for /f "delims=" %%F in ('dir /b "C:\temp2\*web_feed*.out*.gz"^|findstr "^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]\.) do if "%%F" geq "20130101" if "%%F" lss "20130931" echo %%F
pause "Please enter any key to continue"

现在,上面的脚本根据日期条件从c:\temp1c:\temp2中导入日志文件,并使用echo打印到控制台,但我希望将这些日志文件复制到目标目录中。我需要在哪里添加复制条件,以便将从c:\temp1c:\temp2目录获得的日志文件复制到c:\temp3目录中?

此外,我还可以完成重复的步骤,处理日志文件从两个不同的目录在一个步骤,而不是两个单独的步骤,为不同的目录。

我是批处理脚本的新手,当我添加copy命令时,我的脚本不起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-16 09:27:48

您的脚本坏了,我更正了我认为的明显错误,并添加了代码将文件复制到c:\temp3中,并在文件名中添加了一个前缀--就好像两个文件夹中的文件名是相同的,然后它们会相互覆盖。

代码语言:javascript
运行
复制
@echo off
md "c:\temp3" 2>nul
pushd "C:\temp1\"
for /f "delims=" %%F in ('dir /b "*web_feed*.out*.gz"^|findstr "^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]\."') do if "%%F" geq "20130101" if "%%F" lss "20130931" copy "%%F" "c:\temp3\temp1-%%F"
popd
pushd "C:\temp2\"
for /f "delims=" %%F in ('dir /b "*web_feed*.out*.gz"^|findstr "^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]\."') do if "%%F" geq "20130101" if "%%F" lss "20130931" copy "%%F" "c:\temp3\temp2-%%F"
popd
pause
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19393097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档