实用场景:
桌面上保存了乱七八糟的一堆文件,仅想保存QQ、工具箱、娱乐命名的文件,删除其他所有文件。
代码如下:
@echooff
dir /a-d "%userprofile%/Desktop"| findstr /i/v "QQ 工作箱 娱乐" > files.txt
dir /ad "%userprofile%/Desktop"| findstr /i/v " QQ 工作箱 娱乐" > folder.txt
for /f "tokens=4" %%i in (files.txt) do del /q%%i
for /f "tokens=4" %%j in (folder.txt) do rd /q%%j
del /q files.txt folder.txt
代码解析:
①findstr加上/v,排除特定关键词的文件,显示关键词以外的文件
②把过滤好的文件名称导出到txt
③删除文件和文件夹不是同一条命令,需要写两条语句分别执行删除文件和文件夹的动作。
代码展示:
由于百度经验对代码的支持不是很好,粘贴的时候可以格式出现问题,如果直接复制到本地运行出错,可以操作一下这张图。

① 仅想保留QQ,删除其他所有文件
② 删除桌面所有没有扩展名的文件
③ 拷贝桌面特定名字的文件到D盘,并删除这些文件。