当Zipping文件起诉批处理脚本时,它也会压缩文件夹结构

时间:2016-07-07 05:55:26

标签: batch-file zip

我在位置D:\ data \ Generate中有文件需要压缩并复制到

D:\ data \上传目录

我用了命令

设置generate = D:\ Data \ Generate

设置upload = D:\ Data \ Upload

cd%generate%

zip - *>> %上传%\ %% i.zip

如果我从cmd运行此命令,它可以正常工作但从a运行它 scheduler(例如:Control-M)它实际上将Control-m config目录中的所有文件复制到zip文件夹中。

如果我明确提到需要压缩文件的目录

zip - %generate%*。*>> %上传%\ %% i.zip

最终的zip文件夹实际上也包含整个目录结构,而不仅仅是文件。

ex:Zip文件包含Data文件夹,Generate文件夹和Generate folder

下的文件

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

好的,我对此有了一些线索。

这是Windows本身的一个问题,例如:

您打开CMD

您目前位于目录C

然后运行命令cd D:\ data

即使在你执行dir之后,它也会列出C目录中的所有作业。

如果您运行D:在上面的CD之后它将实际进入D:\ data目录并且您可以在该目录上工作

答案 1 :(得分:0)

我确定您已经过了两(2)年前。这是一种方法。我不明白您希望.zip存档文件名是什么。呈现的源代码中没有任何东西可以产生%%i

powershell -NoProfile -Command "Get-ChildItem -File -Path 'D:\Data\Generate' | Compress-Archive -DestinationPath 'D:\data\Upload\i.zip'"