如何用批处理获取本地磁盘中的指定文件的路径

2019-04-14 15:46发布

其实我并不是想专门学习批处理,学批处理的初衷仅仅是因为我想对我自己以前写过的C/C++代码进行整理(>﹏<) 我对我这两年来写的C/C++代码是按照日期来进行存储的,就是说我的写过的C/C++源码分别放在几百个文件夹之中。。。。。。。 手动整理起来肯定会作死,于是想到了批处理。 花了几天的时间学习了之后,终于是把那代码写出来了,也就十几行。用了bat程序后很快就把我的代码整理出来了,五百多个文件。。(我果然是机智的(—O —)/)
后来又写了一个在磁盘中查询所有视频文件的.bat文件。 后来想想觉得这个东西挺有用的,于是就大算把这个拿出来分享下
@echo off title 视频搜索 echo 正在搜索你磁盘中的视频....... REM '>' 清空原txt文档中的数据下写入,而 '>>'则是在保留原来数据的前提下写入 echo star>"本机视频.txt" for /r "C:" %%i in (*.3gp,*.avi,*.mp4,*.wmv,*.mov,*.mpeg,*.mpg,*.qt,*.ram,*.asf) do ( echo %%i echo %%i>>"本机视频.txt" ) for /r "D:" %%i in (*.3gp,*.avi,*.mp4,*.wmv,*.mov,*.mpeg,*.mpg,*.qt,*.ram,*.asf) do ( echo %%i echo %%i>>"本机视频.txt" ) for /r "E:" %%i in (*.3gp,*.avi,*.mp4,*.wmv,*.mov,*.mpeg,*.mpg,*.qt,*.ram,*.asf) do ( echo %%i echo %%i>>"本机视频.txt" ) for /r "F:" %%i in (*.3gp,*.avi,*.mp4,*.wmv,*.mov,*.mpeg,*.mpg,*.qt,*.ram,*.asf) do ( echo %%i echo %%i>>"本机视频.txt" ) for /r "G:" %%i in (*.3gp,*.avi,*.mp4,*.wmv,*.mov,*.mpeg,*.mpg,*.qt,*.ram,*.asf) do ( echo %%i echo %%i>>"本机视频.txt" ) echo end>>"本机视频.txt" echo 搜索完成 pause

有人可能会问为何不把C,D,E....用一个循环处理出来呢,因为批处理中的 for /r 操作在子循环时会存在一些预料不到的问题,所以这里用多个for来,也就复制粘贴的事不是吗?

使用方法: 创建一个".txt"文件,把这段代码拷贝进去,然后把".txt"改成".bat",双击运行后会在该运行目录下产生一个"本机视频.txt"的文件,里面就是你电脑中所有视频文件的路径了。
当然,你也可以稍加改动,就是在for里面加一两个语句,把所有的视频文件拷贝到制定文件夹。或者把所有视频文件删除什么的。
而想要对其他类型的文件进行操作的话,可以把 *.3gp,*.avi,*.mp4,*.wmv,*.mov,*.mpeg,*.mpg,*.qt,*.ram,*.asf其中的后缀改成需要的文件的后缀即可。
如有BUG,请大家务必指出,不胜感激~
联系方式:274489985@qq.com