将文件替换为多个文件夹/子目录

abn*_*317 13 windows batch-file

有没有办法在命令提示符下获取一个文件并将其复制到另一个文件夹,它的子目录基于它的名称?

我有一个名为5.jpg的图像,它已放在目录中每个文件夹中的子文件夹中.我想在文件夹(使用旧图像)及其子文件夹中进行搜索,并用新图像替换所有结果.

Bal*_*ngh 18

可能还有一种(更简单的)方式.

使用replace命令:

replace C:\SourceFile.Txt C:\Some_Root_Folder_Whic_Contains_Multiple_SubFolders /s
Run Code Online (Sandbox Code Playgroud)

正如它自己说的那样,它只是替换了已经存在于子目录中的文件.


sch*_*der 9

我不确定我是否完全了解你.下面的代码将在C:\ MyPath \的子文件夹中搜索5.jpg的所有出现,并用C:\ NewImage\5.jpg替换它们.我做了测试,所以它应该工作.

FOR参数/ R将在这里帮助您:

FOR /R C:\MyPath\ %%I IN (5.jpg) DO COPY /Y C:\NewImage\5.jpg %%~fI
Run Code Online (Sandbox Code Playgroud)

如果您想了解什么信息FOR /R呢,什么%%~fI意思,看看FOR /? | more它给出关于这里使用新的Windows CMD准备好的解释.

  • 它给出了错误消息:`%% I这次是意外的。 (2认同)