创建一个批处理文件,该文件将压缩两个具有相同名称(但扩展名不同)的文件

时间:2014-10-31 16:50:11

标签: batch-file zip

我是编程新手,最近我开始在数据存档工作。我的大部分工作是将pdf和AutoCAD文件(.dwg)压缩在一起。我的经理让我亲手做到这一点,有数千个文件要压缩,所以我正在寻找一种更有效的方式。

目前,我有一个包含大约500个文件的文件夹,其中250个是PDF,其中250个是图纸。每个pdf都有一个相同名称的匹配图,我想将它们成对压缩。 (zip文件应该具有相同的名称。)

命名约定如下: 次数1.pdf 1.dwg 2.pdf 2.dwg ...等

我想创建这样的东西: 1.zip(包含1.pdf和1.dwg) 2.zip(包含2.pdf和2.dwg)

我已经做过一些研究,我知道许多人使用批处理文件编写了类似的程序。但是,我发现自己陷入困境。我无权下载7zip或Windows 7未附带的任何内容。

我试过这样的事情:

 @ECHO OFF
PATH=K:\FOD-FDC\TSG\HOLDING\ROTATE\OSU-090344\Vol_4_complete
FOR %F IN (*.dwg) DO 7Z a "%~nF.zip" "%~nF.dwg" "%~nF.pdf"

显然,由于很多原因(最值得注意的是我没有7-zip)这是不对的,但我仍在努力寻找解决方案。

任何人都可以帮助我吗?非常感谢你!

1 个答案:

答案 0 :(得分:1)

您必须将%文件中的.Bat加倍:

试试这个

@ECHO OFF
set $PATH="K:\FOD-FDC\TSG\HOLDING\ROTATE\OSU-090344\Vol_4_complete\"
pushd %$path%
FOR %%F IN (*.dwg) DO 7Z a "%%~nF.zip" "%%~nF.dwg" "%%~nF.pdf"
popd
Echo Done !!!