[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
a.bat
  1. @echo off
  2. powershell -command "$aExcludes=@('c:\windows','d:\办公保存','e:\档案保存');[System.IO.DriveInfo]::GetDrives()|ForEach-Object{Get-ChildItem -LiteralPath $_.Name -Filter *.* -Directory|Where-Object{$_.FullName -notin $aExcludes}|ForEach-Object{Remove-Item -LiteralPath $_ -Filter *.* -Include *.xls,*.doc,*.jpg -Recurse  -WhatIf}}"
复制代码
测试是否是想要删除的文件,然后再删。
微信:flashercs
QQ:49908356

TOP

回复 4# locoman


    这代码目前不会删除任何文件的,只是会告诉你将来会删除哪些文件!
若认为删除的文件是正确的,要执行真正删除,请删掉代码后面的 “-WhatIf” 后保存并运行。
微信:flashercs
QQ:49908356

TOP

回复 6# locoman

用bat也许更好,下面纯批处理,请保存为 文件名.bat
  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. REM 设置要排除的目录列表,用双引号包括,以空格分割.
  4. set dirsExclude="c:\windows" "d:\办公保存" "e:\档案保存"
  5. REM 要删除的文件扩展名列表,用双引号包括,以空格分割.
  6. set exts="*.xls" "*.doc" "*.jpg"
  7. echo 全盘搜索中,请稍候...
  8. for /f "tokens=1*" %%A in ('fsutil fsinfo drives') do (
  9.   for %%D in (%%B) do (
  10.     pushd "%%D"
  11.     for /f "delims=" %%E in ('dir /ad-h-s /b') do (
  12.       set flag=1
  13.       for %%F in (%dirsExclude%) do (
  14.         if /i "%%~fE"==%%F set flag=0
  15.       )
  16.         if !flag!==1 (
  17.           for /f "delims=" %%G in ('where /r "%%~fE" /f %exts% 2^>nul') do (
  18.             REM 若要真正删除文件,请去掉下面这行的 "echo"
  19.             echo del /f /q %%G
  20.           )
  21.         )
  22.       )
  23.     popd
  24.     )
  25.   )
  26. )
  27. endlocal
  28. pause
  29. exit /b
复制代码
微信:flashercs
QQ:49908356

TOP

回复 8# locoman
  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. REM 设置要排除的目录列表,用双引号包括,以空格分割.
  4. set dirsExclude="c:\windows" "d:\办公保存" "e:\档案保存"
  5. REM 要删除的文件扩展名列表,用双引号包括,以空格分割.
  6. set exts="*.xls" "*.doc" "*.jpg"
  7. REM 设置保存文件路径
  8. set outFile="d:\DEL_list.txt"
  9. echo 全盘搜索中,请稍候...
  10. (
  11.   for /f "tokens=1*" %%A in ('fsutil fsinfo drives') do (
  12.     for %%D in (%%B) do (
  13.       pushd "%%D"
  14.       for /f "delims=" %%E in ('dir /ad-h-s /b') do (
  15.         set flag=1
  16.         for %%F in (%dirsExclude%) do (
  17.           if /i "%%~fE"==%%F set flag=0
  18.         )
  19.           if !flag!==1 (
  20.             for /f "delims=" %%G in ('where /r "%%~fE" /f %exts% 2^>nul') do (
  21.               echo %%G
  22.             )
  23.           )
  24.         )
  25.       popd
  26.       )
  27.     )
  28.   )
  29. )>%outFile%
  30. endlocal
  31. pause
  32. exit /b
复制代码
微信:flashercs
QQ:49908356

TOP

  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. REM 设置要排除的目录列表,用双引号包括,以空格分割.
  4. set dirsExclude="c:\windows" "d:\办公保存" "e:\档案保存"
  5. REM 要删除的文件扩展名列表,用双引号包括,以空格分割.
  6. set exts="*.xls" "*.doc" "*.jpg"
  7. REM 设置保存文件路径
  8. set outFile="d:\DEL_list.txt"
  9. echo 全盘搜索中,请稍候...
  10. (
  11.   for /f "tokens=1*" %%A in ('fsutil fsinfo drives') do (
  12.     for %%D in (%%B) do (
  13.       pushd "%%D"
  14.       for /f "delims=" %%E in ('dir /ad-h-s /b') do (
  15.         set flag=1
  16.         for %%F in (%dirsExclude%) do (
  17.           if /i "%%~fE"==%%F set flag=0
  18.         )
  19.           if !flag!==1 (
  20.             for /f "delims=" %%G in ('where /r "%%~fE" /f %exts% 2^>nul') do (
  21.               echo %%G
  22.             )
  23.           )
  24.         )
  25.       popd
  26.       )
  27.     )
  28. )>%outFile%
  29. endlocal
  30. pause
  31. exit /b
复制代码
设备未就绪,可能是有移动USB硬盘把
1

评分人数

微信:flashercs
QQ:49908356

TOP

返回列表