2012-04-27 74 views
0

我运行一些小批处理脚本从一个位置复制数据到另一个使用ROBOCOPY时通过批处理脚本更改命令窗口的颜色我怎么能使用启动命令

我已经粘贴下面的样本。

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

批处理文件中读取如下 开始robocopy.exe “源”, “目的地”/ 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命令打开一个新窗口,颜色设置不会传递,

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

回答

1

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

您可以使用/ C或/ K到新的实例内启动一个新的命令(C终止在完成)

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

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 

这难道不是为你工作?

+0

喜bugfinder,感谢您的回复上面会再次为我工作,但MSAM有更合适的解决方案,以防止正在创建额外的批处理文件,并增加了一个错误的可能性...谢谢 – minijay 2012-04-27 11:13:11