如何在 BAT 文件中使用 XCOPY 模拟 IF THEN 功能

如何在 BAT 文件中使用 XCOPY 模拟 IF THEN 功能

这是一个相当具体的场景(抱歉)但我会解释我想要实现的目标以及我遇到的困难。

我有一个数据集 (A),目前使用 XCOPY 将其备份到外部 HDD (B),其使用的语法如下(注意:为了便于说明,%1 = 外部 HDD 上的目录名称;%2 = 正在评估备份的目录)

xcopy %2 T:\BACKUP%1 /d/s/e/c/i/r/y/f > c:\backups\backup_log_%1.log

所以基本上我在这里关注的部分是,用通俗的语言来说“如果我当前评估的实时环境中的文件比备份磁带上的文件更新,我需要将该文件 XCOPY 到备份磁带上。

这确实有效,完全没问题,但我需要做的是,我需要引入一个子程序,它(再次用通俗易懂的语言)说:“... 我还需要将该文件 XCOPY 到第二个位置“,我想不出最好的解决办法。

我的直觉是,如果我可以引入基本上是 IF THEN 例程,我就可以轻松地堆叠命令,所以就像......

如果文件在实时环境中比在备份磁带上更新,则将文件复制到备份磁带,将文件复制到此辅助位置,对数据集中的每个文件进行冲洗并重复此操作

我使用的基本逻辑是这样的:-

如果存在{条件,即文件在实时状态比备份磁带上更新}

COMMAND 1, i.e. XCOPY the file to the backup tape
COMMAND 2, i.e. XCOPY the file to the secondary location

) 别的 (

DO NOTHING

所以这是我被困住的加粗部分。XCOPY /d 复制源时间比目标时间更新的文件,但它不是 IF THEN 构造,它只是 XCOPY 函数本身固有的东西。

很抱歉,这似乎是一个模糊而又具体的问题,但你们有什么想法吗?

非常感谢。

!?!?! 掠夺 !?!?!

相关内容