吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 137|回复: 29
收起左侧

[其他求助] 求大佬帮写个文件夹复制某个子文件到相同名文件夹的脚本

[复制链接]
meng234885 发表于 2024-11-26 10:32
50吾爱币




目前需求 a文件夹有许多文件 想把其中的一个或两个文件 转移到b文件夹 并且b文件夹和a问价夹名字相同(可以在后面加1 例如水果1)

最佳答案

查看完整内容

@echo off setlocal enableextensions enabledelayedexpansion set 根目录=F:\桌面\水果 set 需要复制的文件=复制1,复制2 cd /d %根目录% rem 建立新文件夹 for /d %%a in (*) do (set new=%%~dpa&set new=!new:~0,-1!1) md !new!>nul 2>nul for /d %%a in (*) do ( set newb=!new!\%%a md !newb!>nul 2>nul cd %根目录%\%%a set n=0 for /r %%b in (*) do ( for %%c in (%需要复制的文件%) do ( ...

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Stive1233 发表于 2024-11-26 10:32
@echo off
setlocal enableextensions enabledelayedexpansion

set 根目录=F:\桌面\水果
set 需要复制的文件=复制1,复制2

cd /d %根目录%

rem 建立新文件夹
for /d %%a in (*) do (set new=%%~dpa&set new=!new:~0,-1!1)
md !new!>nul 2>nul

for /d %%a in (*) do (
        set newb=!new!\%%a
        md !newb!>nul 2>nul
        cd %根目录%\%%a
        set n=0
        for /r %%b in (*) do (       
                for %%c in (%需要复制的文件%) do (
                        if %%c==%%~nb (xcopy /E /I /Y /Q %%~fb "!newb!">nul&set /a n+=1)
                )
        )
        if !n! neq 0 (
                echo %根目录%\%%a
                echo 复制 !n! 个文件
                echo.
        )
)

pause

复制以上内容到txt文件中,另存为,修改保存编码为ANSI,保存文件名后缀改为bat
修改第三行根目录为你的文件夹,修改第四行需要复制的文件为你希望复制的文件,不带扩展名,以英文逗号分隔,有几个写几个,保存后双击运行。

其他无需调整哈
 楼主| meng234885 发表于 2024-11-26 10:44
DetectiveConan 发表于 2024-11-26 10:49
Shiliu2713 发表于 2024-11-26 10:51
按照你的意思 应该是指,  按照原始目录结构 把最后一级的文件 拆分成2份
DetectiveConan 发表于 2024-11-26 10:53
意思是,将你图中 C:\水果\ 这个文件夹里 所有子文件夹里的 2222.jpg 和 3333.jpg 都 复制到 D:\水果\ 文件夹下(这个文件夹下有每个品种,每个品种只有 2222.jpg 和 3333.jpg)

是不是这个意思
 楼主| meng234885 发表于 2024-11-26 10:57
Shiliu2713 发表于 2024-11-26 10:51
按照你的意思 应该是指,  按照原始目录结构 把最后一级的文件 拆分成2份

也不是拆成两份 因为a文件夹可能会有十个文件 但是 只想把两个文件移动到b文件夹
 楼主| meng234885 发表于 2024-11-26 10:59
DetectiveConan 发表于 2024-11-26 10:53
意思是,将你图中 C:\水果\ 这个文件夹里 所有子文件夹里的 2222.jpg 和 3333.jpg 都 复制到 D:\水果\ 文件 ...

是的是的 最好能配置问件名称  就是D:\水果\ 品总 \ 2222.jpg 和 3333.jpg
sunyue2719 发表于 2024-11-26 11:03
思路:遍历【水果】文件夹及其子文件夹。
为【水果1】创建相应的子文件夹。
从每个子文件夹中挑选指定的文件(例如 -2222.jpg 和 -3333.jpg)。
将这些文件复制或移动到【水果1】的对应子文件夹中。

[Python] 纯文本查看 复制代码
import os
import shutil

# 定义源文件夹和目标文件夹路径
source_folder = '水果'
target_folder = '水果1'

# 创建目标文件夹结构
if not os.path.exists(target_folder):
    os.makedirs(target_folder)

# 遍历源文件夹的子文件夹
for root, dirs, files in os.walk(source_folder):
    for dir_name in dirs:
        subfolder_path = os.path.join(root, dir_name)
        target_subfolder_path = os.path.join(target_folder, dir_name)

        # 创建目标子文件夹
        if not os.path.exists(target_subfolder_path):
            os.makedirs(target_subfolder_path)

        # 获取子文件夹内的文件
        file_list = sorted(os.listdir(subfolder_path))

        # 挑选需要移动的文件
        selected_files = [file for file in file_list if file in ['-2222.jpg', '-3333.jpg']]

        # 移动文件到目标文件夹
        for file_name in selected_files:
            source_file_path = os.path.join(subfolder_path, file_name)
            target_file_path = os.path.join(target_subfolder_path, file_name)

            # 移动文件
            shutil.move(source_file_path, target_file_path)


或者是bat脚本:
[Bash shell] 纯文本查看 复制代码
@echo off

:: 定义源文件夹和目标文件夹路径
set SOURCE=水果
set TARGET=水果1

:: 创建目标文件夹
if not exist "%TARGET%" (
    mkdir "%TARGET%"
)

:: 遍历源文件夹的子文件夹
for /d %%i in ("%SOURCE%\*") do (
    :: 获取子文件夹名称
    set "SUBFOLDER=%%~nxi"

    :: 创建目标子文件夹
    if not exist "%TARGET%\%SUBFOLDER%" (
        mkdir "%TARGET%\%SUBFOLDER%"
    )

    :: 复制所需的文件到目标子文件夹
    for %%j in (-2222.jpg -3333.jpg) do (
        if exist "%%i\%%j" (
            copy "%%i\%%j" "%TARGET%\%SUBFOLDER%\"
        )
    )
)

@echo 完成!
pause

将上述代码复制到一个文本文件中。
保存为 move_files.bat。
确保文件夹【水果】和【水果1】在脚本所在目录下,或者修改 set SOURCE=水果 和 set TARGET=水果1 为具体路径。
双击运行该脚本。

免费评分

参与人数 1吾爱币 +1 收起 理由
meng234885 + 1 谢谢@Thanks!

查看全部评分

 楼主| meng234885 发表于 2024-11-26 11:06
sunyue2719 发表于 2024-11-26 11:03
思路:遍历【水果】文件夹及其子文件夹。
为【水果1】创建相应的子文件夹。
从每个子文件夹中挑选指定的 ...

运行bat是空文件 然后还乱码
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-28 10:49

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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