如何用訊息代替批次列印操作?

如何用訊息代替批次列印操作?

我正在開發一個簡單的工具,可以將文件複製到所需位置或從所需位置複製文件,我想用我選擇的訊息替換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

我想讓訊息顯示類似“備份正在進行中…”而不是顯示每個操作。我嘗試過PRINTECHO、 甚至CLS替換視窗內容的組合,但我無法讓它工作。我缺什麼?我看過其他批次腳本這樣做(我不再需要做筆記)並願意做同樣的事情。

答案1

在末尾新增了您選擇的不在 STDOUT 上的重定向。例如>nulor>file.txt和對應的 echo 語句。在這種方式的執行過程中,您將無法顯示進度xcopy

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

這樣,錯誤處理等可能會更複雜。

答案2

使用

  1. 命令@前綴以避免顯示單一命令;
  2. echo off以避免顯示所有未來的命令(直到重新啟用)。

這通常被組合到 an 中@echo off作為腳本中的第一件事。

相關內容