尝试创建一个Bath文件,该文件将复制特定的目录路径(不低)并压缩该路径中的目录

时间:2015-06-09 17:53:33

标签: batch-file copy rsync

所以我有一个包含日志文件的目录结构。路径如下:

C:\Path\TenantName\AppName\other\stuff\I\dont\care\about

我需要做的是将AppName目录及其下的所有内容压缩为每个租户文件夹下每个AppName的ZIP文件。

所以例子是:

C:\Path\TenantName1\AppName1\
C:\Path\TenantName1\AppName2\
C:\Path\TenantName2\AppName1\
C:\Path\TenantName2\AppName2\

将(在拉链之后):

C:\Path\TenantName1\yyyy.mm.dd_AppName1.zip
C:\Path\TenantName1\yyyy.mm.dd_AppName2.zip
C:\Path\TenantName2\yyyy.mm.dd_AppName1.zip
C:\Path\TenantName2\yyyy.mm.dd_AppName2.zip

然后我们将文件移动到需要具有以下结构的临时目录:

C:\Temp\TenantName\<ZipFiles>

对我来说真正的问题是我需要在C:\ Temp中动态创建TenantName目录,因为这些目录会发生变化。一旦文件在C:\ Temp目录中,我就让Rsync将它们移动到中央服务器进行长期存储。

任何帮助都将不胜感激。

我已经创建了zip文件。使用以下命令:

for /d %%X in (*) do "c:\Program Files\7-Zip\7z.exe" a "C:\Temp-Log\%DATE:~-4%.%DATE:~7,2%.%DATE:~4,2%_%%X.zip" "%%X\"

2 个答案:

答案 0 :(得分:0)

你几乎就在那里,你可以重新配置你的x = left(Schedule,2) l = column where your first (8) hour is (number) y = line where your first employee is l = l+ (x - 8) (since you are starting from 8) while x <= left(right(schedule,5),2) Cells(l,y).format = backgroundcolor you want l = l+1 x = x+1 loop 命令来创建文件夹结构

在命令行中尝试使用oneliner ....

FOR

答案 1 :(得分:0)

这是我最后开发的内容。

for /d %%d in (*) do (
    md c:\temp\%%d
    cd %%d
    for /d %%X in (*) do "c:\Program Files\7-Zip\7z.exe" a "C:\Temp\%%d\%DATE:~-4%.%DATE:~7,2%.%DATE:~4,2%_%%X.zip" "%%X\"
    cd ..
)   

这循环遍历一个目录并进行临时目录结构复制并将其父目录下的所有内容拉开。