Saya melihat @
digunakan dalam konteks seperti:
@echo off
@echo start eclipse.exe
Apa yang dimaksud di @
sini?
Saya melihat @
digunakan dalam konteks seperti:
@echo off
@echo start eclipse.exe
Apa yang dimaksud di @
sini?
Jawaban:
Itu berarti tidak mengeluarkan perintah masing-masing. Bandingkan dua file batch berikut:
@echo foo
dan
echo foo
Yang pertama hanya foo
sebagai keluaran sementara yang terakhir dicetak
H:\Stuff>echo foo
foo
(setidaknya di sini). Seperti dapat dilihat, perintah yang dijalankan juga terlihat.
echo off
akan menonaktifkannya untuk file batch lengkap. Namun, echo off
panggilan itu sendiri masih akan terlihat. Itulah sebabnya Anda melihat @echo off
di awal file batch. Matikan gema perintah dan jangan gema perintah mematikannya.
Menghapus baris itu (atau berkomentar) sering kali merupakan alat debugging yang bermanfaat dalam file batch yang lebih kompleks karena Anda dapat melihat apa yang dijalankan sebelum pesan kesalahan.
Ini berarti "jangan gema perintah ke output standar".
Agak aneh,
echo off
akan mengirim echo off
ke output! Begitu,
@echo off
menonaktifkan perilaku gema otomatis ini - dan menghentikannya untuk semua perintah di masa mendatang juga.
Sumber: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/batch.mspx?mfr=true
The @
menonaktifkan menggemakan untuk itu satu perintah. Tanpa itu, echo start eclipse.exe
jalur akan mencetak kedua dimaksudkan start eclipse.exe
dan para echo start eclipse.exe
line.
The echo off
bergantian off dengan-default perintah bergema.
Jadi secara @echo off
diam-diam mematikan perintah yang bergema, dan hanya output yang ingin ditulis penulis batch yang benar-benar ditulis.
Itu mewarisi makna dari DOS. @ :
Dalam DOS versi 3.3 dan yang lebih baru, menyembunyikan gema dari perintah batch. Setiap output yang dihasilkan oleh perintah digaungkan.
Tanpa itu, Anda bisa mematikan perintah yang bergema menggunakan echo off
perintah, tetapi perintah itu akan digaungkan terlebih dahulu.
Secara default, file batch akan menampilkan perintahnya saat dijalankan. Tujuan dari perintah pertama ini yaitu @echo off adalah untuk mematikan tampilan ini. Perintah "echo off" mematikan tampilan untuk seluruh skrip, kecuali untuk perintah "echo off" itu sendiri. Tanda "at" "@" di depan membuat perintah juga berlaku untuk dirinya sendiri.
Waktu lain yang berguna untuk menyertakan @ adalah ketika Anda menggunakan FOR
di baris perintah. Sebagai contoh:
FOR %F IN (*.*) DO ECHO %F
Baris sebelumnya ditampilkan untuk setiap file : prompt ECHO
perintah, perintah, dan hasil dari ECHO
perintah. Cara ini:
FOR %F IN (*.*) DO @ECHO %F
Hanya hasil dari ECHO
perintah yang ditampilkan.