标题: [文件操作] 批处理怎样根据版本号提取压缩文件的名字? [打印本页]
作者: 帝尊 时间: 2023-2-20 09:26 标题: 批处理怎样根据版本号提取压缩文件的名字?
有几个文件夹,平时使用的时候都是按照当前文件夹名称提取为压缩文件名称。
可否改成文件夹名称+文件夹内的一个版本号?
例如:
之前的是
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
回复 2# WHY
非常感谢。我去试试。
作者: 帝尊 时间: 2023-2-22 09:22
回复 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
回复 5# WHY
好的。谢谢。我试试看。
作者: 帝尊 时间: 2023-3-1 14:59
本帖最后由 帝尊 于 2023-3-7 12:35 编辑
- @echo off
- setlocal enabledelayedexpansion
- set "7zPath=C:\Program Files\7-Zip\7z.exe"
-
- for /d %%D in (*) do (
- for /d %%S in ("%%D\*") do (
- echo %%~nS | findstr /r "^[0-9][0-9.]*$" >nul && (
- set "zipFileName=%%~nD%%~nS.zip"
- "!7zPath!" a -tzip "!zipFileName!" "%%D"
- )
- )
- )
-
- endlocal
复制代码
我自己写一个吧。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |