遇到的問題:
對於echo off、 @echo off差別是?
1.@,若一開始就有"@"則这一行的命令就不显示了(只顯示結果)
2.echo off,在echo off 之後後面(不包含echo off)的所有指令都不會顯示(只顯示結果)
3.@echo off,意味著連echo off都沒有顯示出來
我知道,肯定還是不懂在說什麼,舉個例子吧:
以在自動去設定ip為例子:
1.這例子以echo (on)
2.這例子以echo off
3.這例子以@echo off
在例子1中可以看出,在執行batch毎條指令時都會顯示出來,若不想讓他們顯示出來則可以如例子2一樣加上“echo off”,而如果連echo off (echo處於關閉狀態)這行也不想顯示出來才在前面加上“@”。
解決:
在batch腳本中@與echo off有類似的功能、用途:1.@,若一開始就有"@"則这一行的命令就不显示了(只顯示結果)
2.echo off,在echo off 之後後面(不包含echo off)的所有指令都不會顯示(只顯示結果)
3.@echo off,意味著連echo off都沒有顯示出來
我知道,肯定還是不懂在說什麼,舉個例子吧:
以在自動去設定ip為例子:
1.這例子以echo (on)
echo set IP=10.118.83.11 set MASK=255.255.255.0 set GW=10.118.83.1 set DNS=10.118.8.28 set DNS2=160.118.8.29 netsh interface ip set address name="乙太網路" source=static %IP% %MASK% %GW% netsh interface ip set dns "乙太網路" static %DNS% netsh interface ip add dns "乙太網路" %DNS2% echo 已將IP地址設為:%IP%,按任一鍵後繼續…… pause
2.這例子以echo off
echo off set IP=10.118.83.11 set MASK=255.255.255.0 set GW=10.118.83.1 set DNS=10.118.8.28 set DNS2=160.118.8.29 netsh interface ip set address name="乙太網路" source=static %IP% %MASK% %GW% netsh interface ip set dns "乙太網路" static %DNS% netsh interface ip add dns "乙太網路" %DNS2% echo 已將IP地址設為:%IP%,按任一鍵後繼續…… pause
3.這例子以@echo off
@echo off set IP=10.118.83.11 set MASK=255.255.255.0 set GW=10.118.83.1 set DNS=10.118.8.28 set DNS2=160.118.8.29 echo netsh interface ip set address name="乙太網路" source=static %IP% %MASK% %GW% netsh interface ip set dns "乙太網路" static %DNS% netsh interface ip add dns "乙太網路" %DNS2% echo 已將IP地址設為:%IP%,按任一鍵後繼續…… pause
結論:
由上述三個例子,相信是可以看出差別在哪。在例子1中可以看出,在執行batch毎條指令時都會顯示出來,若不想讓他們顯示出來則可以如例子2一樣加上“echo off”,而如果連echo off (echo處於關閉狀態)這行也不想顯示出來才在前面加上“@”。
沒有留言:
張貼留言