批处理文件压缩子目录

2023-11-23

我正在尝试编写一个批处理脚本,该脚本将使用 winrar 或 7-zip 自动运行压缩子目录:

Example:

 My Pictures
    Pics1 (Pics1.zip)
        File1.jpg
        File2.jpg
        File3.jpg
    Pics2 (Pics2.zip)
        File4.jpg
        File5.jpg
    Pics3 (Pics3.zip)
        File6.jpg
        File7.jpg
    ...

我如何编写脚本。


(1)使用WinRAR:

WinRAR包括两个命令行工具,rar.exe and unrar.exe,其中 rar.exe 压缩文件,unrar.exe 解压缩文件。

两者均位于C:\Program Files\WinRAR可安装版本中的文件夹。

假设,如果下面有多个子文件夹C:\MyPictures并且您希望每个子文件夹在父文件夹中都有自己的 .rar 文件。

从批处理文件中,这对您有用:

@echo off
setlocal
set zip="C:\Program Files\WinRAR\rar.exe" a -r -u -df
dir C:\MyPictures /ad /s /b > C:\MyPictures\folders.txt
for /f %%f in (C:\MyPictures\folders.txt) do if not exist C:\MyPictures\%%~nf.rar %zip% C:\MyPictures \%%~nf.rar %%f
endlocal
exit

解释....

  1. 它将创建父文件夹下所有文件夹/子文件夹的 .rar 文件 文件夹 C:\MyPictures 位于同一父文件夹中。

  2. 然后,它将删除父文件夹下的所有原始文件夹/子文件夹 文件夹 C:\MyPictures,因此您将只剩下档案 在同一个地方。

    • “a”命令添加到存档

    • “-r”开关递归子文件夹

    • “-u”开关。与“a”组合时相当于“u”命令 命令。添加新文件并更新旧版本的文件 已经在档案中

    • “-df”开关在文件移动到存档后将其删除

如果你想保留原来的子文件夹,只需删除-df switch.

(2) 使用 7-Zip:

7-Zip是一个高压缩比的文件归档器。7z.exe是 7-Zip 的命令行版本。 7-Zip 不使用系统通配符解析器,也不遵循古老的规则.表示任何文件。 7-Zip 款待.匹配任何具有扩展名的文件的名称。 要处理所有文件,必须使用 * 通配符。

在批处理文件中使用 7zip 命令行选项,以下内容适合您:

@echo off
setlocal
for /d %%x in (C:\MyPictures\*.*) do "C:\Program Files\7-Zip\7z.exe" a -tzip "%%x.zip" "%%x\"
endlocal
exit

Where

  • - 存档或添加

  • -t 存档类型

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

批处理文件压缩子目录 的相关文章

  • 将文件夹中的所有文件及其所有子文件夹移动到一个大文件夹中 - windows xp

    我有一个文件夹 c downloads ffme 里面有很多子文件夹 每个子文件夹中都有不同数量的文件 我想将所有这些单独的文件合并到一个大文件夹中 同时将它们从子文件夹中删除 我希望最终得到一个包含大量文件的文件夹 但没有子文件夹 我怎样
  • 提取证书中主题属性的所有值

    我目前正在使用CertGetNameString http msdn microsoft com en us library windows desktop aa376086 28v vs 85 29 aspx提取每个主题属性的值 如下所示
  • 如何使用 PowerShell 扩展 ZIP 存档(UTF-8 文件名)

    我的 zip 存档有一个文件 P re No l txt 该 zip 可以通过 Windows 文件资源管理器 7 Zip 或我尝试过的任何其他工具很好地扩展 但我不知道如何从 PowerShell 中做到这一点 显然我已经尝试过展开 存档
  • 批处理脚本 FOR 循环仅设置输出的第一个字母 wsl --list -q

    我正在编写一个批处理脚本 将文件从 Windows 目录复制到 WSL 发行版 其中一部分是选择将文件复制到哪个发行版 如果我使用命令wsl list q如果给我以下输出 Ubuntu 22 04 Ubuntu 18 04 我正在尝试使用此
  • Rails Windows Vagrant 响应时间非常慢

    我在跑 Vagrant 1 7 1 Rails 4 1 4 Thin 1 6 1 Windows 7 每个静态文件的发送时间都超过一秒 在我的 PC 上加载一个页面可能需要大约 20 秒 而在同事的 Linux 机器上则只需瞬间 有一些帖子
  • 为什么 fopen 无法打开已存在的文件?

    我在 Windows XP 上使用 Visual Studio 6 是的 我知道它很旧 构建 维护 C DLL 我遇到了 fopen 无法打开现有文件的问题 它总是返回 NULL 我试过了 通过将 errno 和 doserrno 设置为零
  • git 认为文件已更改

    我在一台机器上对一个项目做了一些工作 然后推送到 github 在另一台机器上克隆并做了一些工作 然后推送 然后我回到第一台机器并做了一个pull 现在 第一台机器认为项目中最初的所有文件都已更改 我试过了 git checkout f a
  • C# WMI 在远程 PC 上运行一个 exe,然后在同一台 PC 上运行另一个 exe,然后在网络路径上调用 Directory.CreateDirectory 并失败

    使用 C WMI 我在另一台计算机上启动一个 exe 该 exe 使用 C 启动另一个 exeProcess班级 最后一个 exe 尝试调用Directory CreateDirectory使用网络路径 又名 comp1 d dir Dir
  • 如何在 Web 服务器上设置 gzip 压缩?

    我有一个嵌入式网络服务器 总共有 2 兆空间 通常 您使用 gzip 文件对客户端有利 但这会节省我们在服务器上的空间 我读到你可以只 gzip js 文件并将其保存在服务器上 我在 IIS 上测试过 但没有任何运气 为了使这项工作成功 我
  • 将目录压缩为单个文件的方法有哪些

    不知道怎么问 所以我会解释一下情况 我需要存储一些压缩文件 最初的想法是创建一个文件夹并存储所需数量的压缩文件 并创建一个文件来保存有关每个压缩文件的数据 但是 我不被允许创建许多文件 只能有一个 我决定创建一个压缩文件 其中包含有关进一步
  • 如何在 Windows 命令行中使用参数运行 Python 脚本

    这是我的蟒蛇hello py script def hello a b print hello and that s your sum sum a b print sum import sys if name main hello sys
  • 如何使我的表单标题栏遵循 Windows 深色主题?

    我已经下载了Windows 10更新包括黑暗主题 文件资源管理器等都是深色主题 但是当我创建自己的 C 表单应用程序时 标题栏是亮白色的 如何使我自己的桌面应用程序遵循我在 Windows 中设置的深色主题 你需要调用DwmSetWindo
  • Windows 窗体中的标准 Windows 菜单栏

    我注意到添加了一个MenuStrip 来自工具箱 我的表单设计不会产生像许多本机 Windows 应用程序中那样的菜单栏 相反 我得到了一个像 Visual Studio 自己的菜单栏 没有任何样式设置MenuStrip似乎模仿了更常见的本
  • Windows 上的 ffmpeg-android ndk

    我正在尝试编译 bash 文件 带有 android ndk 的 ffmpeg 我收到如下错误 arm linux androideabi gcc 无法创建可执行文件 C 编译器测试失败 Makefile 2 config mak 没有这样
  • 如何在Windows中的Python 3.9下pip安装pickle?

    我需要pickle https docs python org 3 9 library pickle html module pickle包安装在我的下面Python 3 9在 Windows 10 下 我尝试过的 当尝试与pip inst
  • 在 Windows 上查找父进程 ID

    Problem 给定远程 Windows 主机上的进程 ID 和命令行访问权限 如何找到其父进程的 PID Solution 鉴于 Marc B 的回答 我们可以使用 WMIC 命令示例here https learn microsoft
  • 在 64 位 Windows 上运行 32 位可执行文件时出现问题

    如果允许的话 我会添加 500 个我自己的代表作为赏金 我在用着wkhtml转pdf http wkhtmltopdf org 将 HTML 网页转换为 PDF 这在我的 32 位开发服务器上完美运行 不幸的是 我无法运送我的机器 p 但是
  • 更改当前工作目录 VS13?

    如本文所述post https stackoverflow com questions 11979632 c sdl why does sdl loadbmp return null我调试 SDL 程序时的工作目录是相对于 vcproj 而
  • Windows:使用 CMD(或 Java)从非特权运行特权命令

    我将有一个以管理员身份运行并侦听端口的服务 我的 GUI 程序将与管理员服务对话以获取需要管理员权限的项目 如果该服务尚未运行 我需要启动它 如何让我的 GUI 程序以管理员身份运行命令 我假设用户会被询问是否要继续 我希望我可以在 CMD
  • Tkinter - 浮动窗口 - 调整大小

    灵感来自this https stackoverflow com a 22424245 13629335问题 我想为我的根窗口编写自己的调整大小函数 但我刚刚注意到我的代码显示了一些性能问题 如果你快速调整它的大小 你会发现窗口没有像我希望

随机推荐

  • Github Actions 有模板吗

    由于我的 Github Actions 中有重复的步骤 我想创建一个模板 让我们举个例子 name ci on push jobs build and test strategy matrix os ubuntu latest runs o
  • 如何多次使用相同的参数?

    我知道关于sprintf 但是如何多次使用相同的参数呢 如果我使用以下代码 则会收到有关使用少量参数的错误 sprintf blabla s 11111 s test 我想更换 s with test twice Use the 编号占位符
  • Javascript 排序“不稳定” - 我该如何解决这个问题?

    根据MDN spec Javascript sort 函数 不稳定 不维护相同元素的输入顺序 讽刺的是 Firefox 目前似乎还没有实现这一点 但 Chrome 似乎实现了 这给我留下了一些问题 我有一组元素要排序 一旦排序 我想将它们标
  • 如何将 3 个 UIButtons 对齐到 UITableCellView 的中心?

    我怎样才能对齐3UIButtons 到 a 的中心UITableCellView 例如说我有 3UIButtons 的标题 Email Phone Skype 其中一项或多项是可能的UIButtons 被隐藏 例如 如果电话UIButton
  • 基于 Zend_Framework 的应用程序示例 [已关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 您知道有哪些基于 Zend
  • Python 中的对象引用是什么?

    一本Python入门教科书对 对象引用 的定义如下 但我不明白 对象引用只不过是对象身份 存储对象的内存地址 的具体表示 教科书尝试通过使用箭头将对象引用显示为来自变量的某种关系来说明这一点a到一个物体1234在赋值语句中a 1234 从我
  • 如何对同步代码进行单元测试

    我是 Java 和 junit 的新手 我有以下一段代码想要测试 如果您能发送有关测试它的最佳方法的想法 我将不胜感激 基本上 以下代码是关于从集群中选举领导者的 领导者持有共享缓存上的锁 如果领导者以某种方式失去了缓存上的锁 则领导者的服
  • 警告:GDB:无法设置控制终端:不允许操作

    当我尝试使用 gdb 和 Netbeans IDE 调试 C C 程序时 出现此错误 此问题的标题 有谁知道这意味着什么以及如何摆脱警告 尽管有警告 我仍然可以进行调试 但我仍然想让警告消失 相关详情 操作系统 Ubuntu 9 10 gd
  • 使用对象标签将 PDF 文件嵌入到 html 中

    我正在将 pdf 文档嵌入到我的 html 代码中 为此我写了这段代码
  • Mongoose 异步模式验证不起作用

    我有以下代码来验证我的 时区 字段 orgSchema path timezone validate function value return Timezone findOne id value id function err timez
  • 将本地文件从客户端加载到dask分布式集群上

    这是一个初学者问题 但我无法找到相关的答案 基本上 我的有关 7GB 的数据位于我的本地计算机上 我有在本地网络上运行的分布式集群 我怎样才能把这个文件放到集群上 通常的 dd read csv 或 read parquet 会失败 因为工
  • 使用或不使用 dict.keys() 访问 Python 字典键

    通常我访问dict键使用keys method d a 1 b 2 c 3 for k in d keys print k 但有时我会看到这样的代码 for k in d print k 这段代码正确吗 安全的 回答你明确的问题 是的 它是
  • 如何在 Android 中的标签栏中居中对齐文本

    我只想在选项卡栏中放置文本 而不放置图像 我想将文本在选项卡栏中水平和垂直居中 正好在中心 如果有人仍然对简单的解决方案感兴趣而不创建自己的布局和样式 对每个添加的选项卡使用 android widget TabHost TabSpec s
  • 在 Grails 中创建管理部分的最佳方法

    Hy 我想知道在 Grails 应用程序中创建管理 后端 部分的最佳方法是什么 我想在 Grails 的 controllers 文件夹中创建一个 Admin 文件夹来放置我所有的管理控制器 但是我是否必须为每个管理控制器手动创建 URL
  • 如何使用 com.google.gwt.user.datepicker.client.DateBox 限制可用日期范围

    我需要限制什么Dates用户可以从com google gwt user datepicker client DateBox 我似乎不知道如何限制最小Date所以他们无法选择过去的日期 如果我不能这样做com google gwt user
  • 如何在 Swift 中为随机数生成器播种?

    我的应用程序使用随机数 我想为随机数生成器提供种子 以便每次都不会相同 我该怎么做呢 EDIT 我应该给 srand 提供什么参数来用当前时间为随机生成器提供种子 这有效 let time UInt32 NSDate timeInterva
  • Spring Boot - 仅在属性启用时才加载 bean

    我有一个Spring Boot应用程序具有不同的子模块 其中还包含弹簧组件 在主 Web 模块中 我使用了子模块中 70 的 Bean 属性组 指向 bean 是否启用取决于 application yml 属性 首先 我想创建 Aspec
  • Flutter 应用程序体积太大

    我在使用 java 开发 Android 应用程序方面拥有丰富的经验 最近我开始了解flutter 所以 我尝试基于官方的flutter创建一个简单的android应用程序tutorial 但令人惊讶的是 调试应用程序大小为 25MB 而发
  • React 组件层次结构中的 componentDidMount 顺序

    我有一个具有以下结构的 React 应用程序 成分A由 组成B and C 当组件B称其为componentDidMount方法 是不是所有元件都安装完成了 或者换句话说React 会起火吗componentDidMount树中的所有组件都
  • 批处理文件压缩子目录

    我正在尝试编写一个批处理脚本 该脚本将使用 winrar 或 7 zip 自动运行压缩子目录 Example My Pictures Pics1 Pics1 zip File1 jpg File2 jpg File3 jpg Pics2 P