Windows下批处理删除文件

这篇具有很好参考价值的文章主要介绍了Windows下批处理删除文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近我使用Maven的时候会出现下载jar包不成功的现象,然后需要把它删除然后重新下载,但是有时候文件过多,一个个删除太花费时间,所以用bat的批处理会很舒服。

bat的语法我之前没遇到过,然后我是边学习边试验,写出了一个简陋版的批处理文件。

我的思路是:

  • 1、遍历目标文件夹。
  • 2、找到目标文件后,删除该文件夹(通过观察下载失败的jar可知,当出现sha1-in-progress后缀的文件时,即该文件下载失败)。

很多知识我都是从写个批处理脚本来帮忙干活–遍历文件夹&字符串处理这篇博客中学习到,非常感谢分享。

遍历文件夹

for循环即可遍历文件夹

命令:for [参数] %%变量名 in (匹配符) do (执行的命令)

参数可以分为/d,/r,/l,/f,无参

  • 无参 : 遍历当前文件夹下的文件
  • /d : 遍历当前文件夹下的子文件夹
  • /r : 深度遍历当前文件夹下的所有文件
  • /l : 迭代数值范围,使用迭代变量设置起始值,然后逐步执行一组范围的值,直到该值超过所设置的终止值
  • /f : 用于解析文件内容

例如:

for /r C:\Users\Panlf\.m2\repository %%i in (*.sha1-in-progress) do (
	echo %%i
)

上述的意思深度遍历C:\Users\Panlf\.m2\repository文件下的所有文件,找出文件后缀名为sha1-in-progress的文件并打印。

当然也可以输出到文件中:

for /r C:\Users\Panlf\.m2\repository %%i in (*.sha1-in-progress) do (
	echo %%i >> E:\m.txt
)

可以将结果输出到E盘的m.txt文件中,注意不能使用>,不然只会输出一个结果到文件中,必须使用>>

删除文件夹

上面是遍历文件,现在要删除文件夹。

bat删除有两个命令rd、del。

命令:rd,删除目录 

参数:/s
说明:用于删除目录树,即删除目录及目录下的所有子目录和文件。 

参数:/q XP中的增强DOS命令 
说明:进行删除操作时将取消确认。 

命令:del,删除文件或目录 
参数:/f 
说明:使用此参数可删除只读文件。 

参数:/s、/q
说明:即删除目录及目录下的所有子目录和文件。同时使用参数/Q,可取消删除操作时的系统确认。 

参数:/a 
说明:删除指定属性或指定属性以外的文件,/AR、/AH、/AS、/AA表示删除只读、隐藏、系统、存档文件,
/A-R、/A-H、/A-S、/A-A表示删除除只读、隐藏、系统、存档以外的文件。 

最后我完成一个简陋版:

@echo off
setlocal enabledelayedexpansion
set /p input_path=请输入要要操作的文件夹:
echo 获取到的地址:%input_path%
for /r %input_path% %%i in (*.sha1-in-progress) do (
	set pan_name=%%~di
	set del_name=%%~pi
	set true_name=!pan_name!!del_name!
	echo !true_name!
	rd /s /q !true_name!
)
pause
注意

1、%%i根据不同的for使用方式,内容也有所不同:

%%~fi:表示获取该文件的绝对路径信息
%%~di:表示获取该文件所在的盘符
%%~pi:表示获取该文件的路径,不包含盘符的信息
%%~ni:表示获取该文件的文件名,不包含扩展名信息
%%~xi:表示获取该文件的扩展名
%%~ti:表示获取该文件的上次修改时间
%%~zi:表示获取该文件的大小

2、在for循环中定义中临时变量的时候

在for循环定义set pan_name=%%~di,如果直接echo pan_name会报echo关闭状态,不能使用。
所以需要第一启用变量延迟功能:setlocal enabledelayedexpansion,第二调用变量的时候使用!pan_name!

3、字符串拼接文章来源地址https://www.toymoban.com/news/detail-649725.html

set true_name=!pan_name!!del_name!

到了这里,关于Windows下批处理删除文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Windows批处理

    @ echo off :关闭命令的回显功能,这样在执行脚本时不会显示每条命令的具体执行过程。建议将此行放在批处理脚本的首行。 rem :用于添加注释,后面可以跟上注释内容。注释的作用是对脚本进行说明或提醒,不会被执行。 pause :暂停批处理的运行,直到用户按下任意键才

    2024年02月07日
    浏览(48)
  • windows环境hadoop报错‘D:\Program‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    错误:windows环境hadoop报错’D:Program’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。 错误方法: (1)配置HADOOP_HOME环境变量时,将路径中的Program Files修改为Progra~1,以便系统识别,无效 (2)将地址中的D:/Program Files改为\\\"D:/Program Files\\\",无效 下载压缩包后的安装

    2024年02月16日
    浏览(58)
  • Windows cmd中出现错误:“‘make‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。”的解决方法

            Windows系统缺少make工具,无法调用make工具的功能。         make工具主要负责一个软件工程中多个源代码的自动编译工作,同时它还可以进行程序运行环境监测、后期处理等工作。它通过读取“Makefile”的文件来自动化构建软件。简单来说,就是可以对源代码进行

    2024年02月08日
    浏览(61)
  • 【WINDOWS / DOS 批处理】命令扩展

    在 WINDOWS / DOS 编程中,对以前一些命令(或变量)所做的更改或者添加,称之为命令扩展,命令扩展会影响 这些命令(或变量)的行为。例如:DOS控制台的命令历史记录就是一种命令扩展特性,如果没有打开命令扩展,使用键盘上的上下方向键,是无法切换至历史执行的

    2024年02月13日
    浏览(47)
  • Windows 98 批处理命令 巧妙还原系统

    Windows 98 批处理命令对于多台电脑的还原有着明显的作用,省时又有省力,但是具体怎么执行呢,请大家跟随yii666的小编一起来看一下,本文会详细介绍其执行步骤。 目前很多学校的网络教室采用PXE无盘工作站技术,尽管PXE工作站的管理有口皆碑,但由于学生的好奇甚至故意

    2024年02月07日
    浏览(42)
  • 快速修改分辨率 Windows bat 批处理

    首先需要两个GitHub上的开源项目 https://github.com/imniko/SetDPI/releases 这个下载realese里的 SetDpi.exe 直链:https://github.com/imniko/SetDPI/releases/download/v1.0/SetDpi.exe https://github.com/RickStrahl/SetResolution 这个直接在仓库里有binary二进制文件 sr.exe 直链:https://github.com/RickStrahl/SetResolution/blob/mast

    2024年02月09日
    浏览(45)
  • Windows 批处理(bat) findstr命令使用教程

    结果: 详细参数列表 参数 参数说明 /B 在一行的开始配对模式。 /E 在一行的结尾配对模式。 /L 按字使用搜索字符串。 /R 将搜索字符串作为一般表达式使用。 /S 在当前目录和所有子目录中搜索匹配文件。 /I 指定搜索不分大小写。 /X 打印完全匹配的行。 /V 只打印不包含匹配

    2024年02月10日
    浏览(72)
  • windows bat批处理基础命令学习教程

    1.批处理文件是一个“.bat”结尾的文本文件,这个文件的每一行都是一条DOS命令。可以使用任何文本文件编辑工具创建和修改。 2.批处理是一种简单的程序,可以用 if 和 goto 来控制流程,也可以使用 for 循环。 3.批处理的编程能力远不如C语言等编程语言,也十分不规范。 4

    2024年02月06日
    浏览(56)
  • Windows bat 批处理 日期时间格式化

    有一个批处理脚本,脚本中根据当前日期,动态的生成日志文件, 如:当前是 2023年06月20日,我希望生成的日志文件名为:XX_20230620.log Windows 在批处理中 获取日期和时间的方式如下: echo %time% 输出的时间格式: HH:MM:SS.NN HH :时 MM :分 SS :秒 NN :厘秒(注意不是毫秒,1秒

    2024年02月11日
    浏览(70)
  • Windows 批处理(bat) for循环语句使用教程

    注意事项: f or、in 和 do是for语句的 ,它们三个缺一不可; 在 in 之后,do 之前的 括号\\\"()\\\"不能省略 ,do 后可以有括号,且 括号内不能有注释 %%i 是for语句中 对形式变量的引用 ; for语句的形式变量I, 可以换成26个字母中的任意一 个,这些字母会 区分大小写 ; in和

    2024年02月04日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包