[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 【已解决】帮我修改“判断是否图片.bat”,谢谢

本帖最后由 yyz219 于 2025-2-14 22:20 编辑

完美解决了
@echo off &if "%~1"=="" exit/b
set "lst=.jpg.png.bmp.gif.jpeg." &setlocal enabledelayedexpansion
if "!lst!"=="!lst:%~x1.=!" (echo,未发现图片文件扩展名) else (echo,发现图片文件扩展名)
pause&exit/b

===================================================
原来的问题:
文件 拖到 下面的“判断是否图片.bat”的图标上,能够判断被拖 文件是否为图片文件。
它的不足之处是:需要临时文件"文件名(含后缀).txt"。请老师帮我修改一下,希望不出现"文件名(含后缀).txt",也达到同样功能。谢谢
===================================================
“判断是否图片.bat”
@echo off
echo. %~n1%~x1>文件名(含后缀).txt  %【保存:文件名(含后缀)】%
::【检测:被拖文件是不是图片(支持:jpg、png、bmp、gif、jpeg)(否到:A,是到:B)】
findstr ".jpg .png .bmp .gif .jpeg" "文件名(含后缀).txt" >nul 2>&1
if %errorlevel% equ 0 (goto :B) else goto :A
::=====================================================

:B
echo.  【是】图片文件
del 文件名(含后缀).txt
pause>nul 2>nul
exit
::=====================================================

:A
echo.  【不是】图片文件
del 文件名(含后缀).txt
pause>nul 2>nul
exit
我是小白,希望老师多多帮助

本帖最后由 aloha20200628 于 2025-2-14 22:18 编辑

回复 1# yyz219

准确而言,只是检查 '文件名是否包含常见图片文件扩展名' ...
  1. @echo off &if "%~1"=="" exit/b
  2. set "lst=.jpg.png.bmp.gif.jpeg." &setlocal enabledelayedexpansion
  3. if "!lst!"=="!lst:%~x1.=!" (echo,未发现图片文件扩展名) else (echo,发现图片文件扩展名)
  4. pause&exit/b
复制代码
1

评分人数

TOP

回复 2# aloha20200628


    我试一试 先
谢谢
我是小白,希望老师多多帮助

TOP

回复 2# aloha20200628


    成功了,再次感谢
我是小白,希望老师多多帮助

TOP

返回列表