我的文件夹中有 100 个 .png 文件,例如 test.png、example.png 等等。
我想在它们前面加上,New_
以便将其重命名为New_test.png
,New_example.png
等等。
我怎样才能在 shell 中做到这一点?
答案1
您没有指定操作系统。此答案假设使用 Windows。
我的第一个想法是一个简单的命令,例如
for %f in (*.png) do rename "%f" "New_%f"
但是,名为的文件a.png
首先被重命名为New_a.png
,并按字母顺序向下移动 :-( 循环将此文件重命名为第二时间到 New_New_a.png。
因此,这必须分两个步骤进行:
dir /b *.png > png.txt
for /F %l in (png.txt) do rename "%l" "New_%l"
del png.txt
第一行创建一个文本文件,其中包含当前目录中所有 png 文件的名称。第二行解析文件的每一行并重命名 png。