[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 aloha20200628 于 2025-2-13 14:21 编辑

回复 1# 小白龙

给一个批处版本,用计算路径分隔符的数量来获取最深层目录,代码第一行可自定义压缩包文件路径 "_7zF=c:\test\1.7z",假设 *.7z 压缩包中只有一个最深层目录
7z.exe 可从本坛第三方下载(http://bcn.bathome.net/s/tool/index.html?key=7z)落地即用,与本脚本文件和压缩包文件同目录
  1. @echo off &setlocal enabledelayedexpansion &set "z=0" &set "_7zF=c:\test\1.7z"
  2. for /f "tokens=5* delims= " %%a in ('7z.exe l "!_7zF!"^|find /i "d..." ') do (
  3.    set "d=%%b" &echo,!d!>#1 &echo,!d:\=!>#2 &for %%v in (#1,#2) do set "%%v=%%~zv"
  4.    set/a "_z=#1-#2" &if !_z! gtr !z! set "z=!_z!" &set "_d=!d!")
  5. 7z.exe x -y "!_7zF!" "!_d!"
  6. del /q #1 #2 &pause&exit/b
复制代码

TOP

返回列表