我在 Windows PC 上的一个项目中,许多文件夹中都有许多同名文件。数千个文件夹中有数十万个源文件。
它们需要发送出去进行本地化。源代码不能随它们一起发送——只有属性文件,所以我不能直接压缩整个项目然后发送出去。
我无法将它们放入 zip 文件中 - 它需要唯一的名称。
我尝试使用 Agent Ransack,它将列出路径中的所有文件,但遗憾的是 7Zip 忽略了路径并抱怨缺乏唯一的名称。
我需要一种脚本化或自动化的方法,将特定属性文件从各自的文件夹中放入 zip 存档中。然后,当它们返回时,只需一次操作即可直接将它们解压到现有文件上。
答案1
7z a -tzip project.zip -ir!DIR1\*.cpp
会出去拿走所有文件.cpp延伸在内和之下方向1并将它们放入名为 project.zip 的存档中。然后,使用.abc对该档案进行扩展
7z u project.zip -ir!DIR1\*.abc
-t 指定存档类型 (ZIP)。-我和-r开关组合成-ir哪个我包括文件名和Recurses 子目录。通配符或带空格的文件名必须用引号引起来,例如“Dir\Program files*”或 Dir\"Program files"*
-
您还可以使用通配符生成要包含的文件规范列表,然后仅将这些文件放入存档中,方法是:
7z a -r -tzip archive.zip @listfile.txt
-
由于您对源代码文件使用了一致且唯一的命名约定,因此您可以在创建时使用 -x 标志从存档中排除不需要的文件,如下所示:
7z a -r archive1.zip subdir\ -x!*.src
这将生成一个不包括以 .src 结尾的文件的档案
您可以从应用程序的 GUI 版本中访问 7-zip 中包含的帮助文件,其中包含更多详细信息和更多开关。
--
如果它不是那么大,我可能会建议使用命令行中的 7z 来清除所有内容,然后在传输之前从档案中删除源代码。
7z a -r archive1.zip subdir\
将文件夹 subdir 及其下的所有文件和子文件夹添加到存档 archive1.zip。存档中的文件规范将包含 subdir\ 前缀。
然后使用 7zip 文件管理器删除源代码文件。