如何用一个文件替换文件夹中的所有文件?

如何用一个文件替换文件夹中的所有文件?

我有一个文件,我们称之为image.png。我还有一个文件文件夹,如下所示:

picture.png
file.png
screenshot.png
art.png
painting.png

等等。

我想要做的是将文件夹内的每个文件替换为image.png,但我想保留原始名称(所以picture.png仍然被称为picture.png,但当查看时包含image.png.

image.png不必位于文件夹内。

我到目前为止已经尝试过,但似乎没有效果:

for file in 'folder' 
do
    cp -f 'image.png'  $file
done

答案1

cp应该做你想做的事。问题是您没有遍历文件夹。您仅使用变量"folder"的内容进行一次迭代$file。尝试迭代文件通配符,如下所示:

for file in folder/* 
do
    cp -vf 'image.png'  "$file"
done

我添加了一个-v,以便您可以获得更详细的输出以查看任何错误,但是一旦获得正确的结果,您可以将其保留。

相关内容