Batch file 批处理文件空白变量
我试图根据文件夹的名称重命名其内容,并在末尾添加字母表。但是我很难根据我定义的字母表数组来获取字母。这是到目前为止我的代码Batch file 批处理文件空白变量,batch-file,batch-rename,Batch File,Batch Rename,我试图根据文件夹的名称重命名其内容,并在末尾添加字母表。但是我很难根据我定义的字母表数组来获取字母。这是到目前为止我的代码 @echo off set letters[1]=a set letters[2]=b set letters[3]=c set letters[4]=d set letters[5]=e set letters[6]=f set letters[7]=g set letters[8]=h set letters[9]=i set letters[10]=j set le
@echo off
set letters[1]=a
set letters[2]=b
set letters[3]=c
set letters[4]=d
set letters[5]=e
set letters[6]=f
set letters[7]=g
set letters[8]=h
set letters[9]=i
set letters[10]=j
set letters[11]=k
set letters[12]=l
set letters[13]=m
set letters[14]=n
set letters[15]=o
set letters[16]=p
set letters[17]=q
set letters[18]=r
set letters[19]=s
set letters[20]=t
set letters[21]=u
set letters[22]=v
set letters[23]=w
set letters[24]=x
set letters[25]=y
set letters[26]=z
set /a index=0
pushd %1
for %%a in (%1) do set folder=%%~na
echo renaming %folder%...
setlocal enabledelayedexpansion
for %%i in (*.*) do (
set /a index+=1
set suffix=!letters[%index%]!
echo appending -!suffix!...
ren "%%~fi" "%folder%-!suffix!.*"
)
endlocal
popd
pause
exit /b
我已经读到,在这种情况下使用enabledayedexpansion也有助于延迟变量使用(!)?我在这方面还是个新手,我不知道我在这方面哪里出了问题,也不知道我如何才能创造一个工作环境。谢谢 更换管路
set suffix=!letters[%index%]!
与
%index%
指分析%%i的时的索引值,而不是在循环操作过程中发生变化
请注意,如果您有26个以上的目标,您将用完后缀
<>(BTW-<代码> %1)(%1)设置文件夹= %%~Na可能更好,如“代码>设置文件夹= %%~n1/<代码> 请考虑向您的问题添加有关任务的详细信息。
CALL set suffix=%%letters[!index!]%%