如果 zip 文件和文件夹名称相同,则将 zip 文件复制到文件夹中

If zip file and folder name are identical, copy zip file into folder

我有很多 .zip 文件和文件夹,其中一些具有相同的名称。 我将检查 zip 文件名和文件夹名是否相同。 我会将zip文件复制到文件夹中并删除zip文件。

是否可以将流程自动化?

我找到了以下代码但无法编辑它:

@echo off
setlocal EnableDelayedExpansion
pushd "C:\New folder"
FOR %%G IN (*.zip DO (
    FOR /F "tokens=1 delims= " %%a IN ("%%G") do (
        set "outFolder=%%a Random Center"
        for /D %%i in (*.*) do (
            for /F "tokens=1 delims= " %%b IN ("%%i") do (
                if "%%a"=="%%b" set "outFolder=%%i"
            )
        )
        if not exist "!outfolder!" md "!outfolder!"
        move "%%G" "!outfolder!"
    )
)
popd
pause

它会创建 Random Center 文件夹并复制其中所有我不需要的 zip 文件。

@echo off
setlocal

pushd "C:\New folder" || exit /b 1

for %%A in (*.zip) do if exist "%%~nA" (
    pushd "%%~nA" && (
        move /y "..\%%~nxA"
        popd
    )
)

popd
pause

使用 move 认为不需要 copydel 压缩文件。 参数 /y 将自动 不覆盖现有文件 提示.

初始pushd改变当前目录 否则以 errorlevel 1.

退出

for 循环遍历每个 zip 文件名。 它检查文件名的名称是否不带扩展名, 确实存在,应该是一个文件夹。 如果存在,则进入pushd目录,然后 move zip文件从父目录进入 当前目录。 popd 将恢复到 上一个目录。

最终 popd 恢复到初始当前目录。