1

我正在运行一些小批量脚本来使用 robocopy 将数据从一个位置复制到另一个位置

我在下面粘贴了一个示例。

我需要为每个批处理文件做的是让它打开并运行列出的 robocopy 命令(它正在执行),但我需要 robocopy 输出窗口在每个批处理文件中设置颜色。

批处理文件如下所示 start robocopy.exe "source" "destination" /MIR /Log:e:\outputlog.txt /TEE

启动 robocopy.exe "源" "目标" /MIR /Log:e:\outputlog.txt /TEE

启动 robocopy.exe "源" "目标" /MIR /Log:e:\outputlog.txt /TEE

以上将立即运行,这很好,但我不能让 robocopy 窗口改变颜色。(上面的 3 种颜色可以作为一种颜色,我们将像上面一样运行另一个批处理文件,但使用不同的颜色来区分副本)

这甚至可能吗?

我知道 cmd 命令可以进行颜色更改,但仅适用于该窗口。当 robocopy 命令打开一个新窗口时,颜色设置不会传递,

对此的任何帮助或想法将不胜感激。我们需要保持代码简单,因为不同的用户需要使用它

4

2 回答 2

2

cmd可以采用 /T 参数来指定颜色。例如:start cmd /T:5A启动一个带有紫色(5)背景和浅绿色文本(A)的新命令窗口

您可以使用 /C 或 /K 在新实例中启动新命令( C 在完成时终止)

start cmd /T:5A /K robocopy...应该这样做

于 2012-04-27T10:39:28.620 回答
0

如果您将 2 个单独的 robocopys 制作成批处理文件,那么您可以更改颜色。

---- bat1.cmd

color 71
robocopy.exe "source" "destination" /MIR /Log:e:\outputlog.txt /TEE

---- bat2.cmd

color 75
robocopy.exe "source" "destination" /MIR /Log:e:\outputlog.txt /TEE

然后你原来的东西

call bat1.cmd
call bat2.cmd

这对你不起作用吗?

于 2012-04-27T10:38:01.460 回答