[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何实现全盘搜索某个文件夹并删除?

我是一个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. )
复制代码
我如何去修改他 才能实现 全盘找到这个文件夹并且删除他 然后替换成当前文件夹内的 文件夹复制到某个盘里的文件夹里

目前我写到这里之后 测试时删除不了 甚至他找不到

没人嘛 大佬呐

TOP

删除文件夹的命令是rd,具体用法可以在cmd下输入:rd /?
回车即可。

TOP

回复 1# 小宇


批处理命令 rd 删除文件夹
http://bbs.bathome.net/thread-3340-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 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.       )
复制代码
这个是我已经改好的 他现在只能实现去删除文件夹。

TOP

回复 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复制文件夹
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 小宇 于 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 还能复制到 刚才搜索到的 测试文件夹么..
感谢大佬的耐心教导

TOP

回复 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" "测试\"
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 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放进去才复制出来一个改名的测试文件夹...

TOP

回复  Batcher

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


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



    可能我表达不太清楚,感谢大佬的耐心指导

TOP

回复 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. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 11# Batcher


    感谢大佬!已解决

TOP

返回列表