[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理如何删除指定文件夹内除指定文件之外的所有文件

批处理删除,但是保留特定内容
主要用在服务器维护方面 !
vps上很多网站被人挂马了!
大量的无用内容!
经过总结  ,只能 保留核心特定的内容!

大概思路是这样的!

在一个文件夹内 无数个乱七八糟的文件 ,  现在要求只保留 index.html    和 index.htm 和gjz.mdb  其他统统删除!

本帖最后由 dreamer 于 2016-9-14 09:46 编辑

Set index.html=.
Set index.htm=.
Set gjz.mdb=.
for /r "指定的路徑" %%i in (*) Do If Not Defined "%%~nxi" Del /q "%%i"

TOP

回复 2# dreamer


        不行啊  ,运行了  被全部清空了 包括需要的,   把好的文件都删了 !!!!

TOP

有人帮我看一下吗?

TOP

for /r "指定的路徑" %%i in (*) Do If Not Defined "%%~nxi" Del /q "%%i"
改成:
for /r "指定的路徑" %%i in (*) Do If Not Defined %%~nxi Del /q "%%i"

TOP

回复 5# flyinnet9


    谢谢 这次好像是对的! 刚刚那个仁兄害惨我了  ,误删了好多 而且是不进回收站的!  哭晕在厕所!

TOP

回复 6# kongzhezhi


    噁,抱歉.........

TOP

重要数据先备份,运行代码先测试,这是起码的常识。不能把责任全推给别人的。

TOP

回复 8# WHY


    小范围受灾  ,  谢谢提醒 ,下次一定注意

TOP

PowerShell 可以这样:
  1. dir -Path 'D:\Test' -Include *.* -Exclude @('index.htm*', 'gjz.mdb') -Recurse | del
复制代码

TOP

  1. @echo off
  2. powershell -c "Get-ChildItem -Path D:\Test -Exclude index.htm*, gjz.mdb -Recurse | Remove-Item"
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

【问题描述】

怎么用cmd批处理删除目录下指定文件以外的文件?
多个目录下只想保留图片

【解决方案】
  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "delims=" %%i in ('dir /b /s /a-d ^| findstr /i /v /e /c:".jpg" /c:".png" /c:".gif" /c:".bmp"') do (
  4.     if "%%i" neq "%~f0" (
  5.         REM 如果显示结果没问题,请把下面的 echo 命令删掉再执行
  6.         echo del /f /q /a "%%i"
  7.     )
  8. )
  9. pause
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

@echo off
set /p mmd="总目录路径(绝对路径)"
cd /d %mmd%
for /f "tokens=*" %%i in ('dir /s /b /a-d *.*') do (
   if not "%%~nxi"=="index.html" (
        if not "%%~nxi"=="index.htm" (
                if not "%%~nxi"=="gjz.mdb" del /q /a "%%i" 1>nul 2>nul
        )
   )
)
pause
Fit Strong

TOP

批处理不要放在目录里
Fit Strong

TOP

返回列表