标题: [文本处理] 批处理如何实现全盘搜索某个文件夹并删除? [打印本页]
作者: 小宇 时间: 2022-2-27 23:06 标题: 批处理如何实现全盘搜索某个文件夹并删除?
我是一个bat新手 我想制作一个游戏文件翻译包替换,但是我写到这里就不会了 我写完之后他只可以山吃TXT.等一些文件但是 删除不了文件夹!求大佬棒棒我- 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 (
- for %%i in (测试2) do (
- del /s /f /q /a "%%a:\测试%%i"
- )
复制代码
我如何去修改他 才能实现 全盘找到这个文件夹并且删除他 然后替换成当前文件夹内的 文件夹复制到某个盘里的文件夹里
目前我写到这里之后 测试时删除不了 甚至他找不到
作者: 小宇 时间: 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
感谢我已经制作成功了但是 有一个问题,他自动找到了这个文件并且删除了这个文件夹 但是 我桌面上有一个文件夹想复制到 搜索到的文件夹里该如何操作?毕竟每个人每个人的安装路径不同 我该如何去改他?- @echo off
- TITLE 汉化包替换
- color 09
- echo.
- echo.
- echo 初始化完成!
- echo.
- echo.
- echo 正在查找中请稍后....
- echo.
- 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 (
- if exist %%a:\nul (
- rd /q /s "%%a:\测试"
- )
- )
复制代码
这个是我已经改好的 他现在只能实现去删除文件夹。
作者: Batcher 时间: 2022-3-1 22:50
回复 5# 小宇 - if exist "%userprofile%\desktop\" (
- cd /d "%userprofile%\desktop\"
- ) else if exist "%userprofile%\桌面\" (
- cd /d "%userprofile%\桌面\"
- )
- REM xcopy或者robocopy复制文件夹
复制代码
作者: 小宇 时间: 2022-3-1 23:56
本帖最后由 小宇 于 2022-3-1 23:58 编辑
回复 6# Batcher
感谢教学!我是一个先学先做的新手,有些地方还是不太懂 我这里 xcopy 桌面上的测试7整个文件夹没有复制到 上次搜索到的测试文件夹里 我现在改的都有点懵逼了 因为这个制作这个替换翻译文本我已经现做现学两个星期了....
这个是图片地址:https://share.weiyun.com/OUGKmel1- @echo off
- TITLE 汉化包替换
- color 09
- echo.
- echo.
- echo 初始化完成!
- echo.
- echo.
- echo 正在查找中请稍后....
- echo.
- 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 (
- if exist %%a:\nul (
- rd /q /s "%%a:\测试\测试1"
- )
- )
- TIMEOUT /T 5 /NOBREAK
- echo.
- echo 删除成功!
- echo.
- echo 正在复制中....
- echo.
- if exist "%userprofile%\desktop\测试7" (
- cd /d "%userprofile%\desktop\测试7"
- ) else if exist "%userprofile%\桌面\测试7" (
- cd /d "%userprofile%\桌面\测试7"
- )
- xcopy 测试7 测试 /e
- pause
复制代码
他 显示我找不到该文件是为什么...
还有一些问题就是 我上面写全盘搜索 (测试文件夹) 找到了之后删除了他 呐后面在桌面上的 测试7 还能复制到 刚才搜索到的 测试文件夹么..
作者: Batcher 时间: 2022-3-2 09:49
回复 7# 小宇 - if exist "%userprofile%\desktop\" (
- cd /d "%userprofile%\desktop\"
- ) else if exist "%userprofile%\桌面\" (
- cd /d "%userprofile%\桌面\"
- )
- xcopy /e /y "测试7" "测试\"
复制代码
作者: 小宇 时间: 2022-3-3 11:21
回复 8# Batcher
图片地址:https://share.weiyun.com/wc78jXEr
他复制到了 bat文件所在的位置 并没有复制到 他检测到的文件夹里 一开始代码- 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 (
- if exist %%a:\nul (
- rd /q /s "%%a:\测试\测试1"
- )
- )
复制代码
他检测到了 文件夹 并且删除了他,然后到下面这代码- if exist "%userprofile%\desktop\测试7" (
- cd /d "%userprofile%\desktop\测试7"
- ) else if exist "%userprofile%\桌面\测试7" (
- cd /d "%userprofile%\桌面\测试7"
- )
- xcopy /e /y "测试7" "测试\"
复制代码
这里是 复制到上面检测到 他所在盘里的测试文件夹里 但是 他直接复制到了 bat文件的所在文件夹里...
这是整体代码- @echo off
- TITLE 国际服汉化包替换
- color 09
- echo.
- echo.
- echo 初始化完成!
- echo.
- echo.
- echo 正在查找中请稍后....
- echo.
- 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 (
- if exist %%a:\nul (
- rd /q /s "%%a:\测试\测试1"
- )
- )
- TIMEOUT /T 5 /NOBREAK
- echo.
- echo 删除成功!
- echo.
- echo 正在复制中....
- echo.
- TIMEOUT /T 5 /NOBREAK
- if exist "%userprofile%\desktop\测试7" (
- cd /d "%userprofile%\desktop\测试7"
- ) else if exist "%userprofile%\桌面\测试7" (
- cd /d "%userprofile%\桌面\测试7"
- )
- xcopy /e /y "测试7" "测试\"
- echo 复制完成!
- 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# 小宇 - if exist "%userprofile%\desktop\" (
- set "FolderFrom=%userprofile%\desktop\测试7"
- ) else if exist "%userprofile%\桌面\" (
- set "FolderFrom=%userprofile%\桌面\测试7"
- )
- 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 (
- if exist "%%a:\测试\测试1" (
- rd /q /s "%%a:\测试\测试1"
- xcopy /e /y "%FolderFrom%" "%%a:\测试\"
- )
- )
复制代码
作者: 小宇 时间: 2022-3-3 21:58
回复 11# Batcher
感谢大佬!已解决
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |