我一直在尝试制作这个小脚本。我基本上想向用户询问一个名字,然后在该目录中我将所有 png 重命名为名称+数字,其中数字只是一个简单的 3 位数字迭代器(000,001,002,003,...,010,... 999)
@echo off
setlocal EnableDelayedExpansion
set /P id=Enter name:
set /a i=0
for %%f in (*.png) do (
set "n=000000%i%"
set "pad=!n:~-3!"
ren %%f %id%!pad!.png
set /a "i+=1"
)
PAUSE
由于某种原因,迭代器 i 始终为 0,因此只有 1 个文件被重命名,而其他文件没有被重命名,因为它们具有相同的名称。
我确实在网上搜索了很多,事实上我对此了解甚少(现在仍然知道),这些东西几乎是一个科学怪人,通常代码科学怪人是行不通的 :/
非常感谢
答案1
这是一个脚本,它将按连续的顺序查找所有丢失的文件:
@echo off
set count = 1208
setlocal ENABLEDELAYEDEXPANSION
FOR /L %%f in (0,1,%count%) DO (
set "num=00000%%f"
set "num=!num:~-4!"
IF NOT EXIST img!num!.png (
echo img!num!.png
)
)
endlocal
请注意,在循环内部,您需要使用 !x! 而不是 %x% 来获取局部延迟变量。但循环变量本身始终由 %%x 引用。