精华内容
下载资源
问答
  • 2022-01-18 10:21:47

    Linux批量删除指定文件

    平时我们会遇到一些需要批量删除文件的操作,这其实就是找 + 删两步操作,可以通过某些命令组合轻松实现。

    注意:删除文件前一定要确认是否需要备份以及是否已经备份。

    一、删除指定类型的文件

    1.1.文件通配符删除

    如果要删除的文件都在当前目录下,可直接使用文件通配符删除

    # 删除当前目录下的所有.log结尾文件
    $ sudo rm -f *.log
    

    1.2.使用find + xargs

    如果要删除某个目录及其子目录下的指定类型文件,可以通过find + xargs来实现

    $ sudo find . -name "*.log" | xargs rm -f
    

    但是如果遇到文件名中含有空格的时候,就无法正确执行,需要额外的参数

    $ sudo find . -name "*.log" -print0 | xargs -0 rm -f
    
    • find -print0:find默认会在找的每个结果后面加一个换行-n,-print0表示在find找到的每一项结果后面加null而不是换行
    • xargs -0:xargs默认以空格或者换行作为分隔符,-0表示用null来作为分隔符。

    更多相关内容
  • 本程序能自动批量删除指定的格式文件,方便特殊的文件操作,vc6.0编译通过
  • 摘要:VC/C++源码,随书源码,批量删除,删除文件 运行环境:Windows/Visual C/C++
  • 主要介绍了VC实现批量删除指定文件的方法,是一个比较普遍且实用的功能,需要的朋友可以参考下
  • 批量删除文件.bat

    2020-12-11 14:55:46
    系统批量删除文件的脚本,可以删除指定目录下面的文件
  • 批量删除指定大小以下文件 --自制工具请勿外传
  • 自己写的文件删除工具,根据路径,后缀名和文件大小来批量删除文件
  • 易语言-易语言删除指定路径指定后缀文件
  • BAT批处理(二):批量删除指定文件以及相关简单的语法结构(系统变量errorlevel,变量延迟等) 前两天在使用 VSCode 的时候,看到之前那么多 cpp 编译产生的 exe 可执行文件,于是心生一个念头,我要把它们全部删掉...

    BAT批处理(二):批量删除指定文件以及相关简单的语法结构(系统变量errorlevel,变量延迟等)

    前两天在使用 VSCode 的时候,看到之前那么多 cpp 编译产生的 exe 可执行文件,于是心生一个念头,我要把它们全部删掉,但是又不想一个个地删,便想到了利用 bat 脚本批量删除 exe 文件。于是在搜集了大量资料后,开始了编写。
    首先就是一条简单的 del

    del F:\Code\C++\*.exe
    

    但是发现只能删除掉 C++ 那个文件夹根目录下的 exe 文件,然后发现,在后面加上 /s,表示在当前目录递归删除指定文件,就是还要进入子目录寻找文件。

    /a 根据百属性选择要删除的文件
    /f 强制删除只读度文件
    /s 从所有子目录删除指定文件
    /q 安静模式。删除全局通配符时,不要求确知

    del F:\Code\C++\*.exe /s
    

    运行之后,哗啦啦,全删掉了(在其他盘里测试一下):
    在这里插入图片描述
    本来其实这样就可以了,把这个批处理脚本放到 C++ 文件夹根目录就行了,但是如果多次执行的时候,本来已经没有 exe 文件了,还要执行,就会提示 找不到 G:\test\*.exe,对于强迫症的我当然不能忍受起码提示一个 exe文件已经删完啦 之类的。要这样写势必要进行条件判断,然后,又去找了很多资料。
    一开始搜到一个 errorlevel 的系统变量,会判断你当前这条语句是否执行,如果成功执行该变量的值为 0, 否则是 1-255 之间的某一个值,这里的值主要是根据语句未能成功执行的原因(其实就是跟中断类型差不多)来决定的,一般是 1

    @echo off 
    if ERRORLEVEL 1 goto fail
    if ERRORLEVEL 0 goto success
    goto done
    :fail
    echo exe文件已经没有啦,别删啦~
    goto done
    :success
    echo 正在删除所有烦人的exe文件...
    del F:\Code\C++\*.exe /s
    :done
    echo 执行完成
    

    运行后发现了中文乱码,于是改一下编码为 ANSI在这里插入图片描述
    然后再次执行,发现不管 exe 文件是否被删掉,都会执行 success 标号的语句,说明 del 语句都被执行了,只是找不到文件而已。
    在这里插入图片描述
    这种方法不行那就试试其他方法,用 if exist 条件判断应该可以吧

    @echo off 
    ::if ERRORLEVEL 1 goto fail
    ::if ERRORLEVEL 0 goto success
    if exist F:\Code\C++\*.exe (goto success) else (goto fail)
    goto done
    :fail
    echo exe文件已经没有啦,别删啦~
    goto done
    :success
    echo 正在删除所有烦人的exe文件...
    del F:\Code\C++\*.exe /s
    :done
    echo 执行完成
    

    这里的 ::是注释,当然注释还有其他写法

    1、:: 注释内容(第一个冒号后也可以跟任何一个非字母数字的字符)
    2、rem 注释内容(不能出现重定向符号和管道符号)
    3、echo 注释内容(不能出现重定向符号和管道符号)〉nul
    4、if not exist nul 注释内容(不能出现重定向符号和管道符号)
    5、:注释内容(注释文本不能与已有标签重名)
    6、%注释内容%(可以用作行间注释,不能出现重定向符号和管道符号)
    7、goto 标签 注释内容(可以用作说明goto的条件和执行内容)
    8、:标签 注释内容(可以用作标签下方段的执行内容

    完美执行。
    然后在之后的其他测试中,若 C++ 根目录下没有 exe 文件,而在其子文件夹下有 exe 文件的话,就出问题了,因为 if exist 那行语句只是判断当前文件夹根目录下是否存在 exe 文件。那该怎么办呢?
    应该要对 C++ 根目录进行递归查找,便是 for 语句:

    @echo off
    cls
    set PATH=F:\Code\C++\
    set FILE=*.exe	
    set cnt=0
    for /R %PATH% %%s in (%FILE%) do (
    	::echo %%s
    	set /a cnt=%cnt%+1
    )
    echo 删除了%cnt%个文件!
    if %cnt% EQU 0 (goto fail) else (goto success)
    goto done
    :fail
    echo exe文件已经没有啦,别删啦~
    goto done
    :success
    echo 正在删除所有烦人的exe文件...
    del *.exe /s
    echo 删除了%cnt%个文件!
    goto done
    :done
    echo 执行完成
    

    for 循环后面的 /R 便是对当前文件夹进行递归查找,若存在后缀名为 .exe 文件,便把计数值+1.然后运行,又出错了。。。
    cnt的值始终为1,这又是为什么呢?
    又查了许多资料,发现 批处理语法中还有叫什么 变量延迟 的语法,具体就是 当我们准备执行一条命令的时候,命令解释器会先将命令读取,如果命令中有环境变量,那么就会将变量的值先读取来出,然后在运行这条命令,如:echo %cnt%,当我们执行这条命令的时候,命令解释器会先读出 %cnt% 的值,然后执行echo,得到的结果是屏幕上显示出 cnt的值。但是,有的时候,我们在执行一条命令的时候,命令解释器将环境变量的值读出来以后,我们的环境变量的值发生了改变,这时个再执行命令就是使用的变量改变前的值,这就不是我们想要的结果了。
    也就是,当 for 语句执行时,命令解释器首先把它变成

    for /R %s in (*.exe) do (set /a cnt=0+1 )
    

    因此在这个循环里面 cnt 就全是0了,这里我们就需要用到 变量延迟 了,设置 setlocal enabledelayedexpansion,然后将需要使用变量延迟的变量两边用 ! 表示,即 set /a cnt=!cnt!+1.
    关闭变量延迟的话就是 setlocal disabledelayedexpansion.
    全部修改完了 bat 程序如下:

    @echo off
    cls
    setlocal enabledelayedexpansion
    set PATH=F:\Code\C++\
    set FILE=*.exe	
    set cnt=0
    for /R %PATH% %%s in (%FILE%) do (
    	::echo %%s
    	set /a cnt=!cnt!+1
    )
    if %cnt% EQU 0 (goto fail) else (goto success)
    goto done
    :fail
    echo exe文件已经没有啦,别删啦~
    goto done
    :success
    echo 正在删除所有烦人的exe文件...
    del %PATH%%FILE% /s
    echo 删除了%cnt%个文件!
    goto done
    :done
    echo 执行完成
    endlocal
    

    大功告成!!

    展开全文
  • 内容索引:VB源码,文件操作,批量删除 VB批量删除指定类型的文件文件的扩展名可以自己定义,批量删除前请先浏览到要操作的文件夹,定义好扩展名,然后点击“确定”,程序即可开始批量删除文件
  • 小蜘蛛批量删除指定格式文件,本软件是为了方便大家删除指定目录指定格式的文件 比如某软件运行时产生的图片、log文件等。 程序可能存在bug 在删除文件是请确保文件未被占用 以防
  • vc开发的批量删除指定文件服务,可以在配置文件里指定文件类型,线程执行的间隔等参数,灵活配置
  • 批量删除指定文件或目录,支持通配符,适用于CVS、SVN等产生的垃圾文件,程序需要.NET FrameWork 2.0 支持
  • 咕嘎批量文件清单快速查找搜索文件,批量移动复制或批量剪切至新文件夹(批量删除指定文件也可以)咕嘎批量文件清单快速查找搜索文件,批量移动复制或批量剪切至新文件夹(批量删除指定文件也可以)步步为赢文件查找...

    先说说场景:前一段时间出了一个批量文件名搜索图片的系统,很多朋友告诉我们不是图片的需求能用么,今天根据朋友的特殊场景,优化了对应的文件格式问题,支持任何格式,比如说批量搜索word文件,excel文件,txt文件等等以前的图片程序就扫描不出来。现在只要是文件全部可以搜索出来。

    首先看界面红色部分【软件下载地址在文章末尾】

    软件打开后,日志信息介绍了软件的操作说明:

    1.可以加载单个文件夹进行搜索

    2.可以加载多个文件夹,包括子文件夹进行搜索

    3.文件的处理方式分为:剪切和复制

    4.匹配的方式有四种模式:文件名包含了,文件名相同,文件名和文件格式相同

    PS:如果文件名带格式一定要选择文件名和文件格式相同的哦

    注意:多级文件夹的时候如果用的是剪切的时候,那么请将所有处理的文件进行备份,以免操作了之后导致整个文件无法复原,所以这个操作是不可逆的,如果是还原那工作量是惊人的,是单个文件夹操作可以忽略不计

    就不提供视频教学软件如何用了,直接提供软件下载吧:

    CSDN下载地址:批量文件名清单查找文件移动存储系统V1.0-ce.zip_批量文件名查找图片移动存储-互联网文档类资源-CSDN下载

    腾讯网盘下载地址:https://share.weiyun.com/ksxQPDcd
    百度网盘下载:https://pan.baidu.com/s/1UI1cdIQ6NPxqTQZIpSTTxw  提取码:8866

    最后大家有什么需要优化或改进的功能请在文章下方留言,谢谢

    展开全文
  • 主要介绍了Linux 按时间批量删除文件的命令写法(删除N天前文件),需要的朋友可以参考下
  • shell 批量删除指定文件 脚本

    千次阅读 2017-02-25 21:02:52
    当遇到的文件过多,想要删除部分文件时 #!bin/bash #文件名放到dat文件中 注意TAB分割 for line in $(cat filename.dat) do   echo "Start Del ${line}.*"  rm -rf ${line}.*   echo "Delete OK" done


    当遇到的文件过多,想要删除部分文件时

    #!bin/bash
    #文件名放到dat文件中 注意TAB分割
    for line in $(cat filename.dat)
    do
        echo "Start Del ${line}.*"
         rm -rf   ${line}.*
        echo "Delete OK"
    done

    展开全文
  • Linux 批量删除指定后缀文件

    千次阅读 2021-09-13 14:56:06
    需要删除/data/local/tmp路径下以“.xml”结尾的文件 find . -name "*.xml" -exec rm -f {} \; 说明 rm -f {} : 删除时,不提示,{}表示查找到的文件
  • Linux批量删除指定后缀名的文件

    千次阅读 2020-08-02 13:02:50
    批量递归删除当前目录下,以.class为后缀的文件。 find . -name '*.class' -type f -print -exec rm -rf {} \; .表示从当前目录开始递归查找 -name '*.class'根据名称来查找,查找指定目录下以.class结尾的文件 -...
  • windows下批量删除指定类型文件

    千次阅读 2020-10-29 12:51:14
    Del (erase) 删除指定文件 语法 del [Drive:][Path]FileName[ ...][/p] [/f] [/s] [/q] [/a[:attributes]] 参数 [Drive:][Path] FileName 指定要删除的文件或文件集的位置和名称。需要Filename。可以使用多个...
  • windows批量删除指定路径下的文件

    千次阅读 2020-10-09 15:57:56
    首先复制你所要删除文件的路径到一个xlsx文件,windows提供了批量复制路径的方法,如图所示: 之后处理excel表格,加入rd /s/q,如图所示: 然后复制一个txt文件中,修改后缀名字为.bat,然后双击执行就可以了。...
  • 批量删除同名文件.zip

    2020-08-21 10:09:54
    批量删除同名文件 每个文件夹里的内容都是一样的,所以当我们下载了很多东西的时候,我们就需要剔除每个文件夹里的同名文件,如果我们直接用手动删除就太麻烦了,下面我就给大家介绍一个新方法,借助工具,快速地...
  • windows批量删除指定目录下的指定类型文件 .bat 删除C盘a文件夹下的mp4类型所有文件(含文件下的子目录mp4) del /s /q C:\a\*.mp4 del帮助 进cmd输入del /? 删除一个或数个文件。 DEL [/P] [/F] [/S] [/Q] [/A...
  • Windows中批量删除多个指定文件

    千次阅读 2020-08-24 17:21:01
    需求:在对应的文件夹中删除其中不需要的文件(文件夹A下是全部的.json文件,文件夹B下是其A对应需要的.jpg文件,文件夹C下是其A对应不需要的.jpg文件。现根据文件夹C的文件删除文件夹A内对应的json文件)。 过程...
  • 主要介绍了Mongodb批量删除gridfs文件实例,本文根据生产环境实际需求总结而来,需要的朋友可以参考下
  • 批量删除文件夹下指定文件夹及文件之外的bat脚本
  • linux下批量删除文件

    千次阅读 2021-05-17 15:11:16
    1. 在linux批量删除多级目录下同一格式的文件,可采用find + exec命令组合:如在删除old目录下的,所有子目录中,后缀为.l的文件方法为:find old -type f -name "*.l" -exec rm -f {} \;说明:•old:待查找的开始...
  • 批量删除bmp文件.bat

    2020-09-24 13:03:13
    批量删除当前路径下后缀为 .bmp的文件 del /a /f /s /q "*.bmp" *为通配符 /a /f 是强制删除所有属性的文件 /q是无需确认直接删除 要是再加上/s开关,就可以删除子文件加中的文件
  • 批量删除指定大小类型文件夹及文件

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 126,698
精华内容 50,679
关键字:

批量删除指定文件

友情链接: composer.phar.zip