找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 18629|回复: 4

[文件操作] 批处理怎样根据版本号提取压缩文件的名字?

[复制链接]
发表于 2023-2-20 09:26:47 | 显示全部楼层 |阅读模式
有几个文件夹,平时使用的时候都是按照当前文件夹名称提取为压缩文件名称。
可否改成文件夹名称+文件夹内的一个版本号?

例如:
之前的是
D:/NAME/NVME
压缩文件名为 NVME.7z

现在想要的是
D:/NAME/NVME/dev/hkc/pug/10.2.3.4/*.*
可否把压缩文件的名字改为 NVME-10.2.3.4.7z
NVME文件夹下面肯定有一个文件夹是版本号,但是不确定在第几层。压缩包在D:/NAME这个路径
 楼主| 发表于 2023-2-22 08:09:50 | 显示全部楼层
回复 2# WHY


    非常感谢。我去试试。
 楼主| 发表于 2023-2-22 09:22:26 | 显示全部楼层
回复 2# WHY


    大神好,这个还是有点问题。

路径是这样的:

C:\Users\GOD\Desktop\diy\Physical\he\wuzhaoling\in\DRV\kente\mobe\ggilhg\45.32.3.3.23\*.*
想实现是的是在diy目录下直接打包成diy-45.32.3.3.23.7z
 楼主| 发表于 2023-2-23 13:15:27 | 显示全部楼层
回复 5# WHY


    好的。谢谢。我试试看。
 楼主| 发表于 2023-3-1 14:59:16 | 显示全部楼层
本帖最后由 帝尊 于 2023-3-7 12:35 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "7zPath=C:\Program Files\7-Zip\7z.exe"

  4. for /d %%D in (*) do (
  5.     for /d %%S in ("%%D\*") do (
  6.         echo %%~nS | findstr /r "^[0-9][0-9.]*$" >nul && (
  7.             set "zipFileName=%%~nD%%~nS.zip"
  8.             "!7zPath!" a -tzip "!zipFileName!" "%%D"
  9.         )
  10.     )
  11. )

  12. endlocal
复制代码
我自己写一个吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 05:21 , Processed in 0.017703 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表