我在一个包含4个文件的文件夹中循环:
image1 image2 image3 image4
for %%f in (*.jpg) do (
echo %%~nf
)
我想在文件旁边添加数字,直到循环结束。
我希望我的输出是这样的:
image11
image22
image33
image44
echo get the name of the files
for %%f in (*.jpg) do (
set count+=1
echo total= %count%
magick convert %%~nf.jpg -crop 2x2-40-20@ +repage +adjoin image-%%d.jpg
rem echo %%~nf
set /a count+=1
echo %%~nf!count!
echo total= %count%
)
pause
答案 0 :(得分:0)
这将为您提供您所追求的结果。
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%f in ('dir /b *.jpg') do (
set /a count+=1
echo %%~nf!count!
)
echo.
echo Total = %count%
echo.
pause
答案 1 :(得分:0)
南希你的代码错过了行setlocal ...如果你的图片路径包含空格,请更好地双引号。
@Echo off
SetLocal EnableExtensions EnableDelayedExpansion
Set count=0
:: get the name of the files
for %%f in (*.jpg) do (
set /A count+=1
echo convert "%%~ff" to "%%~dpnf-!count!%%~xf"
magick convert "%%~f.jpg" -crop 2x2-40-20@ +repage +adjoin "%%~dpnf-!count!%%~xf"
)
echo total= !count!
pause
在此处了解for变量修饰符for /?
或ss64.com/syntax-args
set /A count+=1