【发布时间】:2015-05-14 10:15:12
【问题描述】:
我有很多文件由提取工具生成并转储到服务器上的文件夹中。由于提取过程定期运行,此文件夹通常会添加文件。
一旦生成文件,它们就会被复制到另一台处理它们的服务器上。处理后,它们会在文件名后附加“.loaded”或“.error”(取决于处理是否成功),然后移动到另一个文件夹。所以像:
ServerA:
\source
ServerB:
\unprocessed
\processed
所以 \source 是提取过程转储文件的地方; \unprocessed 是文件被处理和读取以进行处理的地方,而 \processed 是文件被处理后移动到的地方。
我需要做的是创建一个批处理文件,该文件将从\ServerA\source 复制到\ServerB\unprocessed 中\Server B\processed 中尚不存在的所有文件。轻微的额外复杂性是 \processed 中的文件名将在其文件名后附加“.loaded”或“.error”。 (因此如果处理成功,则 fileA.abc 变为 fileA.abc.loaded,否则变为 fileA.abc.error)。
因此,当进程运行时,它需要对 \ServerA\source 中的每个文件检查该文件是否存在于 \ServerB\processed 中(扩展名为“.loaded”或“.error”);如果没有,则将其复制到 \ServerB\unprocessed,否则忽略它。
是否可以在 DOS 中执行此操作?或者其他方法会更好吗? VBScript 可能吗?
【问题讨论】:
-
真的是DOS(command.com)还是windows(cmd.exe)?
-
我猜应该是 cmd.exe。抱歉......我倾向于将它们归类为同一事物,尽管我很欣赏它们是不同的
标签: batch-file copy