如何用消息代替批量打印操作?

如何用消息代替批量打印操作?

我正在开发一个简单的工具,它可以将文件复制到所需位置并从所需位置复制文件,我想用我选择的消息替换 CLI 中的打印,我四处寻找,到目前为止,我找到的所有解决方案都没有实现我想要的。这是我的代码片段:

@ECHO OFF
ECHO D | XCOPY "%USERPROFILE%\Documents\Visual Studio 2017\Code Snippets" ".\Backup\Code Snippets" /s /q /y
ECHO D | XCOPY "%USERPROFILE%\Documents\Visual Studio 2017\Projects" ".\Backup\Projects" /s /q /y
ECHO D | XCOPY "%USERPROFILE%\Documents\Visual Studio 2017\Templates" ".\Backup\Templates" /s /q /y

我想显示类似这样的消息“备份正在进行中...”而不是显示每个操作。我尝试过PRINT、和 的组合ECHO,甚至CLS替换窗口内容,但无法正常工作。我错过了什么?我见过其他批处理脚本这样做(我不再需要记笔记了)并愿意做同样的事情。

答案1

在末尾添加了您选择的不在 STDOUT 上的重定向。例如>nul>file.txt和相应的 echo 语句。您将无法在执行过程中显示进度xcopy

echo "Copy in progress"
xcopy > nul
echo "Copy finished"

这样,错误处理等等可能会更加复杂。

答案2

使用

  1. 命令@前缀以避免显示单个命令;
  2. echo off以避免显示所有未来的命令(直到重新启用)。

这通常@echo off与脚本中的第一项相结合。

相关内容