Board logo

标题: [文本处理] 批处理如何实现全盘搜索某个文件夹并删除? [打印本页]

作者: 小宇    时间: 2022-2-27 23:06     标题: 批处理如何实现全盘搜索某个文件夹并删除?

我是一个bat新手 我想制作一个游戏文件翻译包替换,但是我写到这里就不会了 我写完之后他只可以山吃TXT.等一些文件但是 删除不了文件夹!求大佬棒棒我
  1. for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  2. for %%i in (测试2) do (
  3. del /s /f /q /a "%%a:\测试%%i"
  4. )
复制代码
我如何去修改他 才能实现 全盘找到这个文件夹并且删除他 然后替换成当前文件夹内的 文件夹复制到某个盘里的文件夹里

目前我写到这里之后 测试时删除不了 甚至他找不到
作者: 小宇    时间: 2022-2-27 23:43

没人嘛 大佬呐
作者: qixiaobin0715    时间: 2022-2-28 08:45

删除文件夹的命令是rd,具体用法可以在cmd下输入:rd /?
回车即可。
作者: Batcher    时间: 2022-2-28 09:22

回复 1# 小宇


批处理命令 rd 删除文件夹
http://bbs.bathome.net/thread-3340-1-1.html
作者: 小宇    时间: 2022-3-1 22:27

回复 4# Batcher


    感谢我已经制作成功了但是 有一个问题,他自动找到了这个文件并且删除了这个文件夹 但是 我桌面上有一个文件夹想复制到 搜索到的文件夹里该如何操作?毕竟每个人每个人的安装路径不同 我该如何去改他?
  1. @echo off
  2. TITLE 汉化包替换
  3. color 09
  4. echo.
  5. echo.
  6. echo 初始化完成!
  7. echo.
  8. echo.
  9. echo 正在查找中请稍后....
  10. echo.
  11. for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  12.          if exist %%a:\nul (
  13.                    rd /q /s "%%a:\测试"
  14.               )
  15.       )
复制代码
这个是我已经改好的 他现在只能实现去删除文件夹。
作者: Batcher    时间: 2022-3-1 22:50

回复 5# 小宇
  1. if exist "%userprofile%\desktop\" (
  2.     cd /d "%userprofile%\desktop\"
  3. ) else if exist "%userprofile%\桌面\" (
  4.     cd /d "%userprofile%\桌面\"
  5. )
  6. REM xcopy或者robocopy复制文件夹
复制代码

作者: 小宇    时间: 2022-3-1 23:56

本帖最后由 小宇 于 2022-3-1 23:58 编辑

回复 6# Batcher


感谢教学!我是一个先学先做的新手,有些地方还是不太懂 我这里 xcopy 桌面上的测试7整个文件夹没有复制到 上次搜索到的测试文件夹里 我现在改的都有点懵逼了 因为这个制作这个替换翻译文本我已经现做现学两个星期了....


这个是图片地址:https://share.weiyun.com/OUGKmel1
  1. @echo off
  2. TITLE 汉化包替换
  3. color 09
  4. echo.
  5. echo.
  6. echo 初始化完成!
  7. echo.
  8. echo.
  9. echo 正在查找中请稍后....
  10. echo.
  11. for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  12.          if exist %%a:\nul (
  13.                    rd /q /s "%%a:\测试\测试1"
  14.               )
  15.       )
  16. TIMEOUT /T 5 /NOBREAK
  17. echo.
  18. echo 删除成功!
  19. echo.
  20. echo 正在复制中....
  21. echo.
  22. if exist "%userprofile%\desktop\测试7" (
  23.     cd /d "%userprofile%\desktop\测试7"
  24. ) else if exist "%userprofile%\桌面\测试7" (
  25.     cd /d "%userprofile%\桌面\测试7"
  26. )
  27. xcopy 测试7 测试 /e
  28. pause
复制代码
他 显示我找不到该文件是为什么...

还有一些问题就是  我上面写全盘搜索 (测试文件夹)   找到了之后删除了他 呐后面在桌面上的 测试7 还能复制到 刚才搜索到的 测试文件夹么..
感谢大佬的耐心教导

作者: Batcher    时间: 2022-3-2 09:49

回复 7# 小宇
  1. if exist "%userprofile%\desktop\" (
  2.     cd /d "%userprofile%\desktop\"
  3. ) else if exist "%userprofile%\桌面\" (
  4.     cd /d "%userprofile%\桌面\"
  5. )
  6. xcopy /e /y "测试7" "测试\"
复制代码

作者: 小宇    时间: 2022-3-3 11:21

回复 8# Batcher

图片地址:https://share.weiyun.com/wc78jXEr


    他复制到了  bat文件所在的位置 并没有复制到 他检测到的文件夹里 一开始代码
  1. for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  2.          if exist %%a:\nul (
  3.                    rd /q /s "%%a:\测试\测试1"
  4.               )
  5.       )
复制代码
他检测到了 文件夹 并且删除了他,然后到下面这代码
  1. if exist "%userprofile%\desktop\测试7" (
  2.     cd /d "%userprofile%\desktop\测试7"
  3. ) else if exist "%userprofile%\桌面\测试7" (
  4.     cd /d "%userprofile%\桌面\测试7"
  5. )
  6. xcopy /e /y "测试7" "测试\"
复制代码
这里是 复制到上面检测到 他所在盘里的测试文件夹里 但是 他直接复制到了 bat文件的所在文件夹里...


这是整体代码
  1. @echo off
  2. TITLE 国际服汉化包替换
  3. color 09
  4. echo.
  5. echo.
  6. echo 初始化完成!
  7. echo.
  8. echo.
  9. echo 正在查找中请稍后....
  10. echo.
  11. for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  12.          if exist %%a:\nul (
  13.                    rd /q /s "%%a:\测试\测试1"
  14.               )
  15.       )
  16. TIMEOUT /T 5 /NOBREAK
  17. echo.
  18. echo 删除成功!
  19. echo.
  20. echo 正在复制中....
  21. echo.
  22. TIMEOUT /T 5 /NOBREAK
  23. if exist "%userprofile%\desktop\测试7" (
  24.     cd /d "%userprofile%\desktop\测试7"
  25. ) else if exist "%userprofile%\桌面\测试7" (
  26.     cd /d "%userprofile%\桌面\测试7"
  27. )
  28. xcopy /e /y "测试7" "测试\"
  29. echo 复制完成!
  30. pause
复制代码
我的想法是 开始检测所有盘然后找到了 其中一个盘中的测试文件里的测试1 并且删除他 然后 在桌面中的测试7复制到他刚才检测到的测试文件夹复制到测试文件夹里,一开始bat检测不到测试7然后我尝试在桌面创建了一个文件夹吧 测试7 和bat放进去才复制出来一个改名的测试文件夹...
作者: 小宇    时间: 2022-3-3 11:22

回复  Batcher

图片地址:https://share.weiyun.com/wc78jXEr


    他复制到了  bat文件所在的位置 ...
小宇 发表于 2022-3-3 11:21



    可能我表达不太清楚,感谢大佬的耐心指导
作者: Batcher    时间: 2022-3-3 14:08

回复 9# 小宇
  1. if exist "%userprofile%\desktop\" (
  2.     set "FolderFrom=%userprofile%\desktop\测试7"
  3. ) else if exist "%userprofile%\桌面\" (
  4.     set "FolderFrom=%userprofile%\桌面\测试7"
  5. )
  6. for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  7.     if exist "%%a:\测试\测试1" (
  8.         rd /q /s "%%a:\测试\测试1"
  9.         xcopy /e /y "%FolderFrom%" "%%a:\测试\"
  10.     )
  11. )
复制代码

作者: 小宇    时间: 2022-3-3 21:58

回复 11# Batcher


    感谢大佬!已解决




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2