我有一个脚本(作业A),它运行一个Robocopy脚本,每晚从许多机器上复制所有未压缩的.log文件。我已经完成了一个进程(作业B),其中.log文件在作业A之前被压缩成.7z文件。由于许多源计算机都有.log和.7z文件的组合,我想设置Robocopy作业将所有.7z文件移动到目标但如果没有.7z文件,我希望该作业复制.log文件。
我简要介绍了如何使用IF命令,但无法看到如何完全合并。我不确定这是否可能。
当前作业A脚本如下:
Robocopy "\\SOURCE\Logs" "\\DEST\Logs" /s /zb /r:2 /w:2 /eta /LOG+:\\DEST\\move.log /NP
rem Robocopy "\\SOURCE\Logs" "\\DEST\Logs" *.7z /mov /s /zb /r:2 /w:2 /eta /LOG+:\\DESTmove.log /NP
cls
echo复制过程已完成
有人可以帮忙吗?
答案 0 :(得分:0)
编辑:以下是使用您在评论中提供的robocopy行修改的代码,我在复制版本中添加了*.log
的文件规范。
尚未经过测试。
@echo off
pushd "\\SOURCE\Logs"
if exist *.7z (
Robocopy "\\SOURCE\Logs" "\\DEST\Logs" *.7z /mov /s /zb /r:2 /w:2 /eta /LOG+:\\DEST\move.log /NP
) else (
Robocopy "\\SOURCE\Logs" "\\DEST\Logs" *.log /s /zb /r:2 /w:2 /eta /LOG+:\\DEST\move.log /NP
)
popd
pause
这是您可以使用的格式:添加两个robocopy行
cd /d "c:\folder"
if exist *.7z (
echo move files
) else (
echo copy files
)