在子目录中搜索特定目录名并复制文件(Windows批处理)
这个需要帮忙吗 我有一个目录,其中包含来自不同应用程序的子目录,所以让我们假设目录是c:\home,每个应用程序都有一个子目录,称为应用程序名,所以我们将在子目录中搜索特定目录名并复制文件(Windows批处理),windows,file,batch-file,cmd,Windows,File,Batch File,Cmd,这个需要帮忙吗 我有一个目录,其中包含来自不同应用程序的子目录,所以让我们假设目录是c:\home,每个应用程序都有一个子目录,称为应用程序名,所以我们将 c:\home\app1 c:\home\app2 等等 这些应用程序写入大型日志文件,然后每小时重新创建一次,但会将其放入不同的目录中,根据日期和时间(如dd/mm/yyyy/hr)调用,该目录在实际子目录中创建,并且每个应用程序的每个目录中都会有一个名称完全相同的日志文件。所以我们将以这个结束 c:\home\a
c:\home\app1
c:\home\app2
等等
这些应用程序写入大型日志文件,然后每小时重新创建一次,但会将其放入不同的目录中,根据日期和时间(如dd/mm/yyyy/hr)调用,该目录在实际子目录中创建,并且每个应用程序的每个目录中都会有一个名称完全相同的日志文件。所以我们将以这个结束
c:\home\app1\1015201410\app1.log
c:\home\app1\1015201411\app1.log
c:\home\app1\1015201412\app1.log
c:\home\app2\1015201410\app2.log
c:\home\app2\1015201411\app2.log
c:\home\app2\1015201412\app2.log
我想每小时列出一次目录,并从每个应用程序收集最新的日志,换句话说,在本例中,我只想收集以下2个,因为它们是最新的(结束时间12显示这是第12个小时)
现在一个接一个地获取文件已经很容易了,但是脚本将变得太长,需要定期进行编辑,以便将新的应用程序添加到目录中。
我可以复制、格式化时间/日期部分等。我只需要找到一种方法,在主目录中搜索包含最新时间日期的所有子目录,然后从其他地方复制一个文件
所以我试过这个。注意:timedateformat已预定义:
for /D %%d in (c:\home\*\%timedateformat%\*) do (
for %%f in (%%d\.log) do (
xcopy %%f C:\destination\
)
)
但这显然不喜欢*部分,因此我不会得到任何结果。
如果有人能帮忙,我将不胜感激。我现在觉得自己很愚蠢。非常感谢,我真的很感激。
for /d %%F in ("c:\home\*") do xcopy "%%F\%timedateformat%\*.log" "c:\destination\"
for /d %%F in ("c:\home\*") do xcopy "%%F\%timedateformat%\*.log" "c:\destination\"