Seseorang yang akrab dengan skrip batch windows / dos akan mengenali baris ini:
@echo off
Selama beberapa hari, saya senang dengan sentimen bahwa @
begitulah echo off
yang dimaksudkan untuk ditulis di bagian atas kumpulan dan hanya itu.
Namun, baru-baru ini saya menemukan garis seperti ini:
@php foo bar
dan baris lain seperti ini:
@call \\network\folder\batch.bat
Ini memperkuat kecurigaan saya yang @
memiliki lebih dari sekadar echo
peralihan mode. Namun @
tidak terdaftar di Windows XP: Referensi baris perintah AZ yang saya coba gunakan sebagai referensi dan oleh karena itu saya tidak yakin bagaimana menemukan informasi pasti tentang ini:
Apa itu @
sign in batch, apa istilahnya, dan apa fungsinya?
windows
batch-file
dos
terminology
at-sign
n611x007
sumber
sumber
Remarks
bagianecho
perintah.echo
batch. Ini adalah tautan ke echo # komentar .Jawaban:
Di simbol - @
Perintah tersebut
@ symbol
memberi tahu prosesor perintah agar tidak terlalu bertele-tele; untuk hanya menampilkan keluaran dari perintah tanpa menunjukkannya sedang dijalankan atau petunjuk apa pun yang terkait dengan eksekusi. Jika digunakan, itu ditambahkan ke awal perintah, tidak perlu meninggalkan spasi antara "@" dan perintah.Saat "echo" disetel ke "off", tidak perlu menggunakan "@" karena menyetel "echo" ke "off" menyebabkan perilaku ini menjadi otomatis. "Echo" biasanya disetel ke "aktif" secara default saat eksekusi skrip dimulai. Inilah alasan mengapa "@echo off" biasanya digunakan, untuk mematikan gema tanpa menampilkan tindakan mematikannya.
sumber
.bat
file, yaitu tidak bekerja langsung dari baris perintah.When "echo" is set to "off" it is not necessary to use "@" because setting "echo" to "off" causes this behavior to become automatic.
Ini benar. Saya juga menemukan bahwa ini dapat menyebabkan efek samping yang tidak diinginkan. Misalnya - menggunakan@copy
mengikuticlip < file.txt & pause
perintah karena alasan tertentu menyebabkan clipboard saya menyalin teks1 file copied
.Tidak hanya simbol "at" yang ditempatkan di awal menyembunyikan perintah, ini juga dapat digunakan untuk menambahkan argumen perintah yang disimpan dalam file teks. Sintaksnya adalah exe @ commands (jika saya ingat dengan benar)
sumber
myExe@myCommands
yang gagal denganis not recognized as an internal or external command
@
simbol? Saya tidak bisa membuatnya berfungsi, tetapi saya telah melihatnya digunakan dalam file batch ...