批量删除所有以字母A和数字开头的JPG图片

问题描述 投票:0回答:3

我正在编写一个批处理文件,删除所有以“A”开头且第二个字符数字的 JPG 图像,例如:A23.jpg、A2334.jpg 等。

由于我是批处理编程的新手,我设法将几行代码粘合在一起,如下所示:

@echo off
setlocal enabledelayedexpansion
for %%a in (A*.JPG) do (
    set secondChar=%%a:~1,2%
    for /f "delims=0123456789" %%i in ("%secondChar") do set var=%%i
    if defined var (del %%a) else ()
)
batch-file
3个回答
2
投票

这可以通过单个命令行来完成:

for %%I in (0 1 2 3 4 5 6 7 8 9) do del /F /Q A%%I*.jpg 2>nul

要了解所使用的命令及其工作原理,请打开命令提示符窗口,执行以下命令,并完整、仔细地阅读每个命令显示的帮助页面。

  • del /?
  • for /?

另请阅读有关 使用命令重定向运算符的 Microsoft 文档。


1
投票

Mofi 的计数循环方式:

for /l %%I in (0,1,9) do del /F /Q "A%%I*.jpg" 2>nul

将 /f 与 dir 结合使用并使用 findstr 进行过滤

for /f "delims=" %%I in (
  'dir /b "A*.jpg"^|findstr /I "^A[0-9].*\.jpg"'
) Do del /F /Q "%%I" 2>nul

1
投票

这是根据您的尝试提供的解决方案:

for %%F in ("A*.jpg") do (
    for /F "tokens=1* delims=0123456789" %%K in ("%%~F") do (
        if /I "%%K"=="A" if not "%%L"=="" (
            del /F "%%~F"
        )
    )
)
© www.soinside.com 2019 - 2024. All rights reserved.