Board logo

标题: [系统相关] 批处理获取本地盘符,forfiles 删除本地盘符指定类型文件 [打印本页]

作者: 199448108    时间: 2021-11-10 14:43     标题: 批处理获取本地盘符,forfiles 删除本地盘符指定类型文件

forfiles /P C:\ /S /M *.xlsx /C "cmd /c del @file"
forfiles /P D:\ /S /M *.xlsx /C "cmd /c del @file"
forfiles /P E:\ /S /M *.xlsx /C "cmd /c del @file"
forfiles /P F:\ /S /M *.xlsx /C "cmd /c del @file"

本来想直接用上面的命令删除电脑所有分区的.xlsx文件,后来意识到,如果有人把网络共享映射成盘符的话,也会导致删除网络共享盘符的文件!

现在思路是想用下面这条命令查找出来本地的盘符,然后结合第一条命令,实现只删除本地盘符的文件。但是不知道怎么写。
wmic logicaldisk where drivetype=3 get deviceid | findstr /V DeviceID
作者: Batcher    时间: 2021-11-10 15:16

回复 1# 199448108
  1. @echo off
  2. for /f %%i in ('"wmic LogicalDisk where DriveType="3" get DeviceID | findstr /v "DeviceID" | findstr ".""') do (
  3.     forfiles /P %%i /S /M *.xlsx /C "cmd /c del @file"
  4. )
复制代码

作者: 526510100    时间: 2021-11-10 20:33

感谢分享。
事实再次证明,发帖求助时设置一个意义明确的标题,作用的是非常大的。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2