1

我创建了一个解压缩所有文件的批处理文件

@ECHO OFF

SETLOCAL ENABLEDELAYEDEXPANSION

REM
REM Remove the double quotes from the front and end of the root path
REM
SET ROOT=%1
SET ROOT=%ROOT:~1%
SET ROOT=%ROOT:~0,-1%
ECHO %ROOT%

REM Searching directory structure from root for subfolders and zipfiles,
REM then extracting the zipfiles into a subfolder of the same name as the zipfile.

FOR /F "delims==" %%d IN ('dir /ogne /ad /b /s "%ROOT%"') DO (
ECHO Extracting : "%%d"

FOR /F "delims==" %%f IN ('dir /b "%%d\*.zip"') DO (
        REM Getting filename without extension.
        SET subfolder=%%~nf
        ECHO mkdir "%%d\!subfolder!"
    mkdir "%%d\!subfolder!"
        REM Extracting zipfile content to the newly created folder.
        ECHO 7z x "%%d\%%f" -o "%%d\!subfolder!"
    "C:\Program Files\7-Zip\7z.exe" x "%%d\%%f" -o"%%d\!subfolder!"
)
)

ENDLOCAL

现在我想删除已创建的文件。

任何人都可以帮助单独删除解压缩文件而不是压缩文件,并且还应注意不要删除根文件和 zip 文件。

任何其他解决方案也值得赞赏。

我只想要文件夹中的 zip 文件。所有其他文件都可以在用户不说 Y/N 的情况下删除。

4

1 回答 1

0

echo如果输出正常,试试这个并删除s:

for /r "%root%" %%i in (*.zip) do (
    echo del /f /q "%%~dpni\*.*"
    echo rd /q "%%~dpni"
)
于 2013-04-02T06:27:01.373 回答