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

时间:2017-05-19 15:50:33

标签: batch-file

我正在编写一个批处理文件,删除以" 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 ()
)

3 个答案:

答案 0 :(得分: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有关Using Command Redirection Operators

的文章

答案 1 :(得分:1)

Mofi的计数循环方式:

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

对dir使用for / f并使用findstr

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

答案 2 :(得分: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"
        )
    )
)