【问题标题】:Update file across multiple folder locations?跨多个文件夹位置更新文件?
【发布时间】:2020-09-06 03:56:58
【问题描述】:

我需要可以在我的驱动器(或计算机)上已经存在该文件的任何地方复制指定文件的东西;即更新文件。我试图搜索这个网站,以防我不是第一个,并找到了这个:

CMD command line: copy file to multiple locations at the same time

但不完全一样。

示例: 假设我有一个名为 CurrentList.txt 的文件,并且我的硬盘上都有它的副本。但后来我改变了它,我希望所有的副本都更新。所以我想把新的复制到所有其他的。它可以“如果更新就复制”,但通常我知道它是更新的,所以它也可以找到每个实例并复制它。

我最初打算使用某种 .bat 文件,该文件必须遍历寻找相关文件的每个文件夹,但我的批处理文件编程有限/生锈。然后我看了一下 xcopy 能不能做到,但我不这么认为......

对于我将如何使用它,我通常知道这些文件将在哪里,所以如果我可以将它指定为(使用示例),它实际上可能同样好或更好,“复制 CurrentList.txt,覆盖所有在 C:\Lists 文件夹和所有子文件夹中找到的其他副本”。

我真的希望能够将它放在上下文菜单中,这样我就可以(从文件资源管理器中)右键单击一个文件或选定的文件,然后选择分发它的选项。

提前感谢您的任何想法。

【问题讨论】:

标签: batch-file copy xcopy


【解决方案1】:

使用“替换”命令...

replace CurrentList.txt C:\Lists /s

【讨论】:

  • 谢谢!我应该意识到这一点。我知道我可以把它做成一个批处理文件,比如:“replace %1 C:\Lists /s”。但是有没有办法将它集成到上下文菜单中,以便将文件名变量发送到批处理文件?
  • 在尝试之后,我得到了“扩展错误 32”。我认为这是因为它试图用自己替换文件。也许我应该提到该文件将来自 C:\Lists.. 的子文件夹。实际上,我发现使用 /u 选项是解决该错误的合理方法。
  • 您可以忽略“扩展错误 32”。当您尝试替换文件夹中的文件并且“源文件”也位于该文件夹中时,您会得到这样的结果。即使您收到该错误,所有其他文件仍将被替换。
  • 其实没有,错误32中断了批处理。但是 /u 选项运行良好。
  • 如果源文件(和最新版本)在目录中,则添加 /U 开关。
猜你喜欢
  • 1970-01-01
  • 2020-05-18
  • 1970-01-01
  • 2022-12-25
  • 2023-04-06
  • 2015-09-13
  • 2018-05-31
  • 2022-01-02
  • 2014-10-03
相关资源
最近更新 更多