标题: [文件操作] 批处理如何删除指定文件夹内除指定文件之外的所有文件 [打印本页]
作者: kongzhezhi 时间: 2016-9-14 09:12 标题: 批处理如何删除指定文件夹内除指定文件之外的所有文件
批处理删除,但是保留特定内容
主要用在服务器维护方面 !
vps上很多网站被人挂马了!
大量的无用内容!
经过总结 ,只能 保留核心特定的内容!
大概思路是这样的!
在一个文件夹内 无数个乱七八糟的文件 , 现在要求只保留 index.html 和 index.htm 和gjz.mdb 其他统统删除!
作者: dreamer 时间: 2016-9-14 09:44
本帖最后由 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"
作者: kongzhezhi 时间: 2016-9-14 14:16
回复 2# dreamer
不行啊 ,运行了 被全部清空了 包括需要的, 把好的文件都删了 !!!!
作者: kongzhezhi 时间: 2016-9-14 15:32
有人帮我看一下吗?
作者: flyinnet9 时间: 2016-9-14 16:05
for /r "指定的路徑" %%i in (*) Do If Not Defined "%%~nxi" Del /q "%%i"
改成:
for /r "指定的路徑" %%i in (*) Do If Not Defined %%~nxi Del /q "%%i"
作者: kongzhezhi 时间: 2016-9-14 16:10
回复 5# flyinnet9
谢谢 这次好像是对的! 刚刚那个仁兄害惨我了 ,误删了好多 而且是不进回收站的! 哭晕在厕所!
作者: dreamer 时间: 2016-9-14 18:58
回复 6# kongzhezhi
噁,抱歉.........
作者: WHY 时间: 2016-9-14 19:22
重要数据先备份,运行代码先测试,这是起码的常识。不能把责任全推给别人的。
作者: kongzhezhi 时间: 2016-9-14 19:23
回复 8# WHY
小范围受灾 , 谢谢提醒 ,下次一定注意
作者: WHY 时间: 2016-9-14 19:24
PowerShell 可以这样:- dir -Path 'D:\Test' -Include *.* -Exclude @('index.htm*', 'gjz.mdb') -Recurse | del
复制代码
作者: Batcher 时间: 2016-9-14 23:37
- @echo off
- powershell -c "Get-ChildItem -Path D:\Test -Exclude index.htm*, gjz.mdb -Recurse | Remove-Item"
复制代码
作者: Batcher 时间: 2021-12-11 23:26
【问题描述】
怎么用cmd批处理删除目录下指定文件以外的文件?
多个目录下只想保留图片
【解决方案】- @echo off
- cd /d "%~dp0"
- for /f "delims=" %%i in ('dir /b /s /a-d ^| findstr /i /v /e /c:".jpg" /c:".png" /c:".gif" /c:".bmp"') do (
- if "%%i" neq "%~f0" (
- REM 如果显示结果没问题,请把下面的 echo 命令删掉再执行
- echo del /f /q /a "%%i"
- )
- )
- pause
复制代码
作者: Fit 时间: 2021-12-13 16:51
@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 时间: 2021-12-13 16:52
批处理不要放在目录里
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |