Board logo

标题: [文件操作] 请求批处理代码,删除目录内指定的文件及文件夹 [打印本页]

作者: sykIII    时间: 2020-10-29 19:14     标题: 请求批处理代码,删除目录内指定的文件及文件夹

此目录
%USERPROFILE%\OneDrive

所有文件名包含"HOMEPC"及"TABLETPC"的文件夹及文件
全都删除

求大佬解惑
作者: smss    时间: 2020-10-29 19:49

  1. @Echo off&SetLocal EnableDelayedExpansion
  2. for /f "delims=" %%i in ('dir /b/s "%USERPROFILE%\OneDrive" ^|findstr /i "TABLETPC HOMEPC"')do set "DD=%%~ai"&if "!DD:~0,1!"=="d" (rd /s/q "%%i")else del /s/q "%%i"
复制代码

作者: Batcher    时间: 2020-10-29 20:32

回复 2# smss


我有一个想法,不判断文件夹和文件,直接删 : )
  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /s "%USERPROFILE%\OneDrive" ^|findstr /i "TABLETPC HOMEPC"') do (
  3.     rd /s /q "%%i" 2>nul || del /f /q "%%i" 2>nul
  4. )
复制代码

作者: sykIII    时间: 2020-10-30 00:01

回复 3# Batcher


    十分感谢
作者: went    时间: 2020-10-30 22:41

  1. @echo off
  2. set "folder=%USERPROFILE%\OneDrive"
  3. set "filter=HOMEPC TABLEPC"
  4. for /r "%folder%" /d %%i in ("*%filter: =*" "*%*") do echo Folder: %%i & rmdir /s /q "%%i"
  5. for /r "%folder%" %%i in ("*%filter: =*" "*%*") do echo File:   %%i & del /f /q "%%i"
  6. pause&exit
复制代码





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