当前位置: 首页 > news >正文

JPG同步删除RAW批处理文件

相机挑选JPG照片,同步删除RAW格式文件,批处理文件bat,放到JPG和NEF文件夹根目录
– NEF 文件夹
– JPG 文件夹
文件同步删除.bat

@echo off

:: 要同步的文件夹及文件后缀名(相同),即要删除文件的目录
set del_subfix=NEF
:: 要参考的文件夹及文件后缀名(相同),即参考的文件的目录
set ref_subfix=JPG

set del_dir=.\%del_subfix%\*.%del_subfix%
set ref_dir=.\%ref_subfix%\*.%ref_subfix%

echo.
echo * 确保文件 %ref_subfix% 及 %del_subfix% 文件夹在当前程序目录中,且其文件夹名称与其内部的文件后缀相同且大小写一样。
echo * 以 %ref_subfix% 目录中文件为基准,删除 %del_subfix% 目录中多余的 %del_subfix% 格式文件
echo.
setlocal enabledelayedexpansion
set ref_array_index=0
for /f "delims=" %%m in ('dir /a-d /b %ref_dir%') do (
    set ref_array[!ref_array_index!]=%%~nm
	set /a ref_array_index=!ref_array_index!+1
)
echo * %ref_subfix% 文件夹中共有!ref_array_index!个 %ref_subfix% 文件
set del_array_index=0
for /f "delims=" %%m in ('dir /a-d /b %del_dir%') do (
    set del_array[!del_array_index!]=%%~nm
	set /a del_array_index=!del_array_index!+1
)
echo * %del_subfix% 文件夹中共有 !del_array_index! 个 %del_subfix% 文件
echo.
echo.
echo * 继续分析查找要删除的文件请输入 1 ,取消输入 0 或其他字符
set /p input_confirm=
echo.
if %input_confirm% neq 1 (
	echo * 已取消!
	goto EndTip
)
echo 正在分析对比找出要删除的文件:
set del_index=0
set count=0
:BeginLoop2
	if !del_index! geq !del_array_index! ( 
		goto EndLoop2
	)
	set tempDelFile=!del_array[%del_index%]!
	set /a del_index=!del_index!+1
	set index_ref=0
	set flag=0;
	:BeginLoop
		if %index_ref% geq !ref_array_index! ( 
			goto EndLoop
		)
		set tempRefFile=!ref_array[%index_ref%]!
		if !tempDelFile! equ !tempRefFile! (
			set flag=1
			echo 已查找到名称是!tempDelFile!.%ref_subfix%的文件...进度!del_index!/!del_array_index!
			goto EndLoop
		) else (
			set flag=0
		)
		set /a index_ref=%index_ref%+1
		goto BeginLoop
	:EndLoop
	if !flag! == 0 (
		echo 未查找到名称是!tempDelFile!.%ref_subfix%的文件...进度!del_index!/!del_array_index!
		set final_array[!count!]=!tempDelFile!.!del_subfix!
		set /a count=!count!+1
	)
	goto BeginLoop2
:EndLoop2
echo.
echo.
if !count! == 0 (
	echo * 没有任何 %del_subfix% 文件需要删除
	goto EndTip
)
echo * 共需删除 !count! 个 %del_subfix% 文件,文件列表如下:
set index_tip=0
:BeginLoop1
	if %index_tip% geq !count! (
		goto EndLoop1
	)
	echo !final_array[%index_tip%]!
	set /a index_tip=!index_tip!+1
	goto BeginLoop1
:EndLoop1
echo.
echo.
echo * 确认删除请输入 1 ,取消输入 0 或其他字符
set /p input_source=
echo.
if %input_source% neq 1 (
	echo * 已取消!
	goto EndTip
)
set index_final=0
echo ========开始删除=========
echo.
:BeginLoop3
	if %index_final% geq !count! (
		goto EndLoop3
	)
	del /f /s /q .\%del_subfix%\"!final_array[%index_final%]!"
	set /a index_final=%index_final%+1
	set /a progress=%index_final%*100/!count!
	echo 进度:%index_final%/!count!!progress!%)
	goto BeginLoop3
:EndLoop3
echo.
echo ========删除结束=========
echo.
echo.
echo * 文件同步删除完成,共删除 !index_final! 个 %del_subfix% 文件!
:EndTip
echo.
echo. & pause

相关文章:

  • Vue ‘v-model‘ directives require the attribute value which is valid as LHS.
  • 八、自动化函数
  • 单基因高低分组和相关基因的GSEA等富集分析教程,代做分析
  • dev中使用auto的方法
  • AETTA: Label-Free Accuracy Estimation for Test-Time Adaptation
  • python编程-实现非确定性有限自动机
  • 正弦波有效值和平均值(学习笔记)
  • 探秘Transformer系列之(27)--- MQA GQA
  • 【一篇关于自我刷题的思考】
  • 使用Python进行AI图像生成:从GAN到风格迁移的完整指南
  • 如何安装git?
  • 智能Todo协作系统开发日志(二):架构优化与安全增强
  • 算法题(125):子集
  • AJAX与Axios基础
  • 网页爬虫--赶集网租房信息爬取(Python)
  • 开源模型应用落地-模型上下文协议(MCP)-第三方MCP Server实战指南(五)
  • 机器学习 从入门到精通 day_05
  • 生成式引擎优化(GEO)发展史与行业标准演变
  • (三) 傅里叶变换:把信号拆成音符的秘密
  • 【LLM】解锁Agent协作:深入了解谷歌 A2A 协议与 Python 实现
  • 过敏性鼻炎,不只是“打喷嚏”那么简单
  • 上海天文馆加持,书友可在徐家汇书院“飞越银河系”!
  • 爱奇艺要转型做微剧?龚宇:是误解,微剧是增量业务,要提高投资回报效益
  • 洛阳白马寺的墓主人是狄仁杰?其实这个误解从北宋就开始了
  • 高明士︱纪念坚苦卓绝的王寿南先生
  • 浙江严禁中小学节假日集体补课,省市县教育部门公布举报电话