开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 656|回复: 5
收起左侧

[已解决] 好心人 !帮我写个批处理文件bat,谢谢

 关闭 [复制链接]
结帖率:80% (8/10)
发表于 2023-12-25 18:09:36 | 显示全部楼层 |阅读模式   湖南省株洲市
50精币
目录A下。有N个视频

目录B下,有N个子N文件夹 里面有视频

想要A下的视频自动去搜索B下重名的替换。因为实在很难找出来,子文件夹太多了。。。

最佳答案

查看完整内容

@echo off setlocal enabledelayedexpansion set "dirA=路径\目录A" set "dirB=路径\目录B" set "outputFile=output.txt" REM 删除已存在的输出文件 if exist "%outputFile%" del "%outputFile%" for %%F in ("%dirA%\*") do ( set "filename=%%~nxF" for /R "%dirB%" %%G in ("*%%~xF") do ( set "subfolder=%%~dpG" set "subfolder=!subfolder:%dirB%=!" if exist "%dirB%!subfolder!%%~nxF ...

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:50% (1/2)

签到天数: 7 天

发表于 2023-12-25 18:09:37 | 显示全部楼层   福建省福州市
@echo off

setlocal enabledelayedexpansion

set "dirA=路径\目录A"
set "dirB=路径\目录B"
set "outputFile=output.txt"

REM 删除已存在的输出文件
if exist "%outputFile%" del "%outputFile%"

for %%F in ("%dirA%\*") do (
    set "filename=%%~nxF"
    for /R "%dirB%" %%G in ("*%%~xF") do (
        set "subfolder=%%~dpG"
        set "subfolder=!subfolder:%dirB%=!"
        if exist "%dirB%!subfolder!%%~nxF" (
            echo 重名视频:%%~nxF >> "%outputFile%"
            echo 目录A路径:%%~dpF >> "%outputFile%"
            echo 目录B路径:%dirB%!subfolder! >> "%outputFile%"
            echo. >> "%outputFile%"
        )
    )
)

echo 输出完成!请查看 %outputFile%

pause

你复制上面代码,修改上面目录A,B,及输出的重名文件的文本存放地址,保存为.bat,测试一下看看




补充内容 (2023-12-25 18:29):
不用谢,ai写的代码

评分

参与人数 2精币 +1 荣誉 +1 收起 理由
笨潴 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!
liujielan + 1 这个不行

查看全部评分

回复

使用道具 举报

结帖率:50% (3/6)

签到天数: 10 天

发表于 2023-12-25 18:13:32 | 显示全部楼层   河南省商丘市
我会写易语言,但是不会写批处理,没法帮你住,哎
回复

使用道具 举报

结帖率:80% (8/10)

签到天数: 10 天

 楼主| 发表于 2023-12-25 18:16:09 | 显示全部楼层   湖南省株洲市
自由天下 发表于 2023-12-25 18:13
我会写易语言,但是不会写批处理,没法帮你住,哎

。。易语言不更好吗。。。。。。。。。 写易语言的都是超级大帅哥
回复

使用道具 举报

结帖率:93% (211/228)

签到天数: 16 天

发表于 2023-12-25 18:18:09 | 显示全部楼层   黑龙江省伊春市
内容来源于GPT4
下面是一个使用批处理(.bat)的简单脚本,该脚本将遍历目录A下的所有视频文件,并尝试在目录B及其子目录中查找与之具有相同文件名的视频文件。如果找到匹配的文件,该脚本将使用目录A中的文件替换目录B中的文件:

请将以下的代码写入一个.bat文件里并在需要使用的时候运行这个脚本。

注意: 请先在你的环境中小范围施行,以确保脚本的规范性。批量替换文件可能会造成无法恢复的损失。

@echo off
setlocal enabledelayedexpansion

:: 定义源目录和目标目录
set "dirA=路径A"
set "dirB=路径B"

:: 遍历源目录中的所有视频文件
for /r "%dirA%" %%a in (*.mp4 *.avi *.mkv *.flv *.wmv) do (
  :: 获取文件的基本名(不含后缀)
  for /f "delims=" %%b in ("%%~na") do set "baseName=%%b"

  :: 在目标目录及其子目录中寻找与源文件名相同的视频文件
  for /r "%dirB%" %%c in ("!baseName!.mp4" "!baseName!.avi" "!baseName!.mkv" "!baseName!.flv" "!baseName!.wmv") do (
    echo Found %%c
    echo Replacing...

    :: 替换目标文件
    copy /y "%%a" "%%c"
  )
)

echo Operation complete.
pause
在运行此脚本之前,请将 路径A 和 路径B 更改为dirA 和dirB中你想要的路径,如 C:\Path\To\DirectoryA 或 D:\Other\Path\To\DirectoryB。

此脚本假设你的视频文件可能以.mp4、.avi、.mkv、.flv或.wmv为后缀。如果你有其他格式的视频文件,只需要调整 *.mp4 *.avi *.mkv *.flv *.wmv 这一行和 "!baseName!.mp4" "!baseName!.avi" "!baseName!.mkv" "!baseName!.flv" "!baseName!.wmv" 这一行即可,让其包含你要搜索的其他文件类型。

最好的情况是你有备份所有的文件,因为这个脚本将直接替换目标文件,而不是先备份原文件。
谨慎执行!
回复

使用道具 举报

结帖率:97% (28/29)

签到天数: 25 天

发表于 2023-12-25 18:28:52 | 显示全部楼层   山东省泰安市
我会写易语言,但是不会写批处理,没法帮你写,哎
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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