标题: [文本处理] 求批处理全盘搜索某文件夹下的文件并删除 [打印本页]
作者: mtlee 时间: 2021-4-24 01:27 标题: 求批处理全盘搜索某文件夹下的文件并删除
求老师赐码:
例如: 有个文件暂且命名它为mtlee.txt ,可能是在C:\Program Files,也可能是在C:\Program Files (x86),又或者在其他电脑盘符下的多级目录下,现想通过快递搜索的方式找到该文件,并删除它。
例子重点:全盘搜索+多目录+搜索+删除
感恩!!!
作者: lancer 时间: 2021-4-24 07:33
使用dir命令可以知道文件的真实目录,然后用del删除即可
作者: 1152 时间: 2021-4-24 09:54
复制代码
\\?\是省略目录
作者: qixiaobin0715 时间: 2021-4-24 10:44
如果知道要搜索的文件可能的路径,最好不要使用全盘搜索,这样耗时长,占用资源大,还容易误删文件。
作者: qixiaobin0715 时间: 2021-4-24 10:53
本帖最后由 qixiaobin0715 于 2021-4-24 11:09 编辑
将下面代码放到可能的路径,为了防止误删,加参数/p:- @del /a /f /p /s mtlee.txt
复制代码
作者: mtlee 时间: 2021-4-24 11:05
回复 5# qixiaobin0715
老师,这种dir 显示目录效率会很快吗,可以支持搜索到多级目录下的文件吗
作者: qixiaobin0715 时间: 2021-4-24 11:07
不是dir而是直接del,不过会提示是否要删除,可防止误删文件。
作者: qixiaobin0715 时间: 2021-4-24 11:08
del即是delete
作者: mtlee 时间: 2021-4-24 11:08
回复 5# qixiaobin0715
dir如何列出命令,支持多级目录呢
作者: mtlee 时间: 2021-4-24 11:09
回复 8# qixiaobin0715
我明白您意思了,直接删,但是我这个文件可能存在的地方有多个,这种需要怎么处理呢
作者: qixiaobin0715 时间: 2021-4-24 11:11
本帖最后由 qixiaobin0715 于 2021-4-24 11:12 编辑
我说过了不是dir,而是直接找到符合条件的文件,会列出路径,让你自己决定是否删除。试试就行了。参数/s,即表示包括子文件夹。
作者: qixiaobin0715 时间: 2021-4-24 11:22
回复 10# mtlee
你可以将代码分别放到可能的路径进行处理啊,这样总比全盘搜索效率要高的多。
作者: mtlee 时间: 2021-4-24 13:28
回复 12# qixiaobin0715
运行后提示找不到C:\windows\system32\ukey_2021-04-09.txt
作者: Batcher 时间: 2021-4-24 13:55
回复 1# mtlee
试试这样能否搜索到你想找的文件:批处理全盘搜索指定文件获取其完整路径
http://bbs.bathome.net/thread-3465-1-1.html
作者: qixiaobin0715 时间: 2021-4-24 16:17
回复 13# mtlee
你应当是把代码放在了:C:\windows\system32\ 下
说明此路径下本来就不存在你要搜寻的文件。
作者: 1152 时间: 2021-4-24 16:53
回复 11# qixiaobin0715 - del \\?\mtlee.txt /p /f /s
复制代码
作者: 1152 时间: 2021-4-24 16:55
回复 4# qixiaobin0715 - del \\?\mtlee.txt /s /f /p
复制代码
这样就好了
作者: 1152 时间: 2021-4-24 16:59
本帖最后由 1152 于 2021-4-24 17:02 编辑
回复 6# mtlee
dir是显示本目录的文件和文件夹,而不是显示目录中的目录。如果想显示目录中的目录用下面指令:- type c:
- type d:
- type e:
- type f:
- type g:
- type h:
复制代码
作者: 1152 时间: 2021-4-24 17:02
回复 9# mtlee
dir不能!下面指令才能- type c:
- type d:
- type e:
- type f:
- type g:
- type h:
复制代码
作者: 1152 时间: 2021-4-24 17:06
不想回复 15# 乐色 qixiaobin0715 - del \\?\mtlee.txt /s /f /p
复制代码
这样不行吗?
作者: mtlee 时间: 2021-4-24 21:08
回复 15# qixiaobin0715
bat我是直接放在桌面上运行的
作者: mtlee 时间: 2021-4-24 21:15
回复 17# 1152
del \\?\mtlee.txt /s /f /p
我也试了这个语法,但是直接提示系统找不到指定的路径
可是我这个文件明明就在C:\Program Files\aaaa1111 这个测试目录下呀
作者: 1152 时间: 2021-4-24 21:29
本帖最后由 1152 于 2021-4-24 21:32 编辑
回复 22# mtlee
我这边测试是正常的,显示是否删除后就删除了
作者: mtlee 时间: 2021-4-25 00:31
回复 23# 1152
如果我要把语句直接指定到C:\Program Files\aaaa1111这个目录下(mtlee.txt这个文件就在这个目录下)
然后我代码是这么写的:del /s /q /f "C:\Program Files\aaaa1111\mtlee.txt"
然后运行后还是报错:"找不到文件C:\Program Files\aaaa1111\mtlee.txt"
这个语句有问题吗?还是因为会是其他问题呢
作者: qixiaobin0715 时间: 2021-4-25 06:33
本帖最后由 qixiaobin0715 于 2021-4-25 07:01 编辑
- del /a /f "C:\Program Files\aaaa1111\mtlee.txt"
复制代码
作者: qixiaobin0715 时间: 2021-4-25 06:49
本帖最后由 qixiaobin0715 于 2021-4-25 06:50 编辑
如果文件目录如下
D:\abc\mtlee.txt
D:\abc\123\mtlee.txt
要将两个mtlee.txt都删除,可以指定目录。- cd /d D:\abc
- del /s /a /f /p mtlee.txt
复制代码
作者: qixiaobin0715 时间: 2021-4-25 10:04
像这种情况,直接在cmd窗口中进行处理更方便。
作者: 1152 时间: 2021-4-25 17:27
回复 24# mtlee
可不可能是文件夹?
作者: Batcher 时间: 2021-4-25 23:03
回复 24# mtlee
也可能是你敲代码的时候有错误,你打开一个CMD窗口,依次执行以下命令:
cd /d "C:\Program Files"
dir
cd "aaaa1111"
dir
del /q /f mtlee.txt
把结果发出来看看
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |