1. 程式人生 > >Windows下的bat檔案的@echo off 作用?

Windows下的bat檔案的@echo off 作用?

我們常常會在一些批處理檔案中看到@echo off這個命令,那他究竟有什麼作用,要想知道這個命令,我們首先得知道echo這個命令的作用,這個命令叫做“回顯”,就是把這條命令後的內容顯示到控制檯上,接下來我們來看一下@echo off命令的作用。


我們來新建一個檔案,檔案就命名為test_echooff.bat,然後在檔案中編寫如下內容:


@echo off

echo 這是測試內容的第1行
echo 這是測試內容的第2行
echo 這是測試內容的第3行
echo end

pause


這個批處理檔案雙擊執行的結果如下:

  這是測試內容的第1行
  這是測試內容的第2行
  這是測試內容的第3行
  end
  請按任意鍵繼續…

修改檔案內容,將其中的@ 符號去掉,內容如下:


echo off

echo 這是測試內容的第1行
echo 這是測試內容的第2行
echo 這是測試內容的第3行
echo end

pause


雙擊執行修改後的這個批處理檔案的結果如下:

  F:\batTool>echo off
  這是測試內容的第1行
  這是測試內容的第2行
  這是測試內容的第3行
  end
  請按任意鍵繼續…

繼續修改檔案內容,將第一條命令註釋掉,內容如下:


::echo off

echo 這是測試內容的第1行
echo 這是測試內容的第2行
echo 這是測試內容的第3行
echo end

pause


雙擊執行最後修改的這個批處理檔案的結果如下:

 

  F:\batTool>echo 這是測試內容的第1行
  這是測試內容的第1行
 
  F:\batTool>echo 這是測試內容的第2行
  這是測試內容的第2行
 
  F:\batTool>echo 這是測試內容的第3行
  這是測試內容的第3行
 
  F:\batTool>echo end
  end
 
  F:\batTool>pause
  請按任意鍵繼續…


總結

@echo off表示執行了這條命令後關閉所有命令(包括本身這條命令)的回顯。而echo off命令則表示關閉其他所有命令(不包括本身這條命令)的回顯,@的作用就是關閉緊跟其後的一條命令的回顯,關於上述例子應該表現的很清楚了,不過還有幾點需要解釋一下:


pause也是一條命令,作用就是使程式暫停,也就是輸出“請按任意鍵繼續…”的原因。
::是批處理檔案中一種註釋語句的方式,其與rem命令的區別我們後續再說。
@echo off執行以後,後面所有的命令均不顯示,包括本條命令。
echo off執行以後,後面所有的命令均不顯示,但本條命令是顯示的。