0
点赞
收藏
分享

微信扫一扫

bat脚本删除文件夹下的重复文件


应用场景

  • 日常开发中,eclipse 添加一些插件包等。例如,定制主题(theme)、使eclipse 支持 sbt等需要向 plugins 等目录下拷贝一些 jar包。有可能由于操作不当,导致存在多(bu)份(shan)备(bu)份(shuang)。
  • 也可适用于Windows其他类似场景

代码实现

  • 实验删除的是eclipse 下的重复 jar 包
  • 文件名形如:
  • ​org.scala-ide.sbt.compiler.interface.source_0.13.6.v-20150303-2034 (2).jar​
  • bat 文件名
  • bat_duplicated_file.bat
  • 代码

@echo off
:: 将目录下的所有文件名导入 src_file_name.txt 文件
for %%i in (*.*) do echo "%cd%\%%i" >> src_file_name.txt

:: 将删除的文件名导入 del_file_name.txt 文件,并计数
set /a cnt = 0
for %%i in (*")".jar) do ( echo "%cd%\%%i" >> del_file_name.txt
del /a /f /q "%cd%\%%i"
set /a cnt+=1)

echo "The number of Deleted file: %cnt%"

执行过程

  • 文件路径
  • ​C:\Users\Khgines\Desktop\bat_demo​
  • 文件目录
  • bat脚本删除文件夹下的重复文件_删除重复文件

  • 批处理执行
  • 在 bat_demo 目录空白处,右键 => 在此处打开命令窗口(W) => 执行 bat_duplicated_file.bat
  • 结果整体显示
  • bat脚本删除文件夹下的重复文件_bat_02

问题记录

  • ​set /a cnt = 0​
  • 计算器
  • 缺少 /a 参数,多次执行, 计数器无效(未归零)

References

  • ​​bat的变量与命令set的用法​​
  • ​​批处理中的行,段注释​​
  • ​​Windows bat脚本之for循环之 一(推荐)​​


举报

相关推荐

0 条评论