Redirect Output dari Windows Command Line ke File Teks

Salah satu cara paling berguna untuk mencatat dan memecahkan masalah perilaku perintah atau pekerjaan batch yang Anda jalankan di Windows adalah dengan mengarahkan output ke file.

Namun, ada beberapa cara berbeda untuk mengalihkan penulisan baris perintah ke file. Opsi yang Anda pilih tergantung pada bagaimana Anda ingin melihat output perintah Anda.

Bagaimana Output Prompt Perintah Windows Bekerja(How Windows Command Prompt Output Works)

Saat Anda mengetik perintah di konsol Windows ( command prompt ), output dari perintah itu menuju ke dua aliran terpisah.

  • STDOUT : Standard Out adalah tempat respons standar dari perintah pergi. Misalnya, respons standar untuk perintah DIR adalah daftar file di dalam direktori.
  • STDERR : Kesalahan Standar(Standard Error) adalah tempat munculnya pesan kesalahan jika ada masalah dengan perintah. Misalnya jika tidak ada file di direktori, perintah DIR akan menampilkan “ File Not Found” ke aliran Standard Error .

Anda dapat mengarahkan output ke file di Windows untuk kedua aliran output ini.

Redirect Output Standar Tulis ke File Baru(Redirect Standard Output Write to New File)

Ada dua cara Anda dapat mengarahkan output standar dari suatu perintah ke file. Yang pertama adalah mengirim output perintah tulis ke file baru setiap kali Anda menjalankan perintah.

Untuk melakukan ini, buka command prompt dan ketik:

dir test.exe > myoutput.txt

Karakter > memberi tahu konsol untuk menampilkan STDOUT ke file dengan nama yang Anda berikan.

Saat Anda menjalankan perintah ini(run this command) , Anda akan melihat bahwa tidak ada respons di jendela perintah kecuali kesalahan bahwa file tidak ada.

Ini karena output standar untuk perintah dialihkan ke file bernama myoutput.txt. File sekarang ada di direktori yang sama tempat Anda menjalankan perintah. Output kesalahan standar masih ditampilkan seperti biasanya.

Catatan(Note) : Berhati-hatilah untuk mengubah direktori aktif(change the active directory) untuk prompt perintah sebelum menjalankan perintah. Dengan cara ini Anda akan tahu di mana file output disimpan.

Anda dapat melihat output standar yang masuk ke file dengan mengetik "myoutput.txt" di jendela perintah. Ini akan membuka file teks di penampil file teks default Anda. Bagi kebanyakan orang, ini biasanya Notepad.exe .

Lain kali Anda menjalankan perintah yang sama, file keluaran sebelumnya akan dihapus. File keluaran baru akan dibuat ulang dengan keluaran perintah terbaru.

Redirect Output Standar(Standard Output) Menulis ke File Yang Sama(Same File)

Bagaimana jika Anda tidak ingin menimpa file yang sama? Pilihan lain adalah menggunakan >> daripada > untuk mengarahkan ke file output. Dalam kasus contoh ini, Anda akan mengetik:

dir test.exe >> myoutput.txt

Anda akan melihat output yang sama (hanya kesalahan).

Namun dalam kasus ini, alih-alih menimpa file output, perintah ini menambahkan output baru ke file output yang ada.

Setiap kali Anda menjalankan perintah dan menambahkan output ke file, itu akan menulis output standar baru ke akhir file yang ada.

Redirect Error Standar Ke File(Redirect Standard Error To a File)

Dengan cara yang sama Anda dapat mengarahkan ulang penulisan keluaran standar ke file, Anda juga dapat menampilkan aliran kesalahan standar ke file.

Untuk melakukan ini, Anda harus menambahkan 2> di akhir perintah, diikuti dengan file kesalahan keluaran yang ingin Anda buat.

Dalam contoh ini, Anda akan mengetikkan perintah: 

dir test.exe > myoutput.txt 2> output.err

Ini mengirimkan aliran output standar ke myoutput.txt, dan aliran kesalahan standar ke output.err. Hasilnya adalah tidak ada aliran keluaran sama sekali yang ditampilkan di jendela konsol.

Namun, Anda dapat melihat pesan kesalahan dengan mengetikkan output.err . Ini akan membuka file di penampil file teks default Anda.

Seperti yang Anda lihat, pesan kesalahan apa pun dari perintah dikeluarkan ke file kesalahan. Sama(Just) seperti output standar, Anda dapat menggunakan >> sebagai gantinya untuk menambahkan kesalahan ke kesalahan dari perintah yang dijalankan sebelumnya.

Redirect Semua Output Menulis ke File Yang Sama(Redirect All Output Writes to a Same File)

Semua pendekatan di atas menghasilkan banyak file. Satu file untuk aliran keluaran standar dan yang lainnya untuk aliran kesalahan standar.

Jika Anda ingin memasukkan kedua keluaran ini ke file yang sama, Anda juga dapat melakukannya. Untuk melakukan ini, Anda hanya perlu mengarahkan semua output ke file yang sama menggunakan perintah berikut.

dir test.exe 1> myoutput.txt 2>&1

Berikut cara kerja perintah ini:

  • Output standar diarahkan ke file output yang diidentifikasi oleh output nomor 1.
  • Keluaran kesalahan standar yang diidentifikasi oleh nomor 2 diarahkan ke file keluaran yang diidentifikasi oleh nomor 1.

Ini akan menambahkan output kesalahan ke akhir output standar.

Ini adalah cara yang berguna untuk melihat semua output untuk setiap perintah dalam satu file. 

Membungkam Aliran Keluaran Standar atau Kesalahan(Silencing Standard or Error Output Streams)

Anda juga dapat mematikan Output(Standard Output) Standar atau Kesalahan Standar(Standard Error) dengan mengarahkan output ke NUL alih-alih file.

Menggunakan contoh di atas, jika Anda hanya menginginkan Output Standar(Standard Output) dan tidak ada Kesalahan Standar(Standard Error) sama sekali, Anda dapat menggunakan perintah berikut:

dir test.exe 1> myoutput.txt 2>nul

Ini akan menghasilkan file keluaran yang sama seperti contoh pertama di atas di mana Anda hanya mengarahkan Output Standar(Standard Output) , tetapi dengan perintah ini kesalahan tidak akan bergema di dalam konsol. Itu juga tidak akan membuat file log kesalahan.

Ini berguna jika Anda tidak peduli dengan kesalahan apa pun dan tidak ingin itu menjadi gangguan.

Anda dapat melakukan salah satu perintah output yang sama di atas dari dalam file BAT(inside a BAT file) dan output dari baris itu akan masuk ke file output yang Anda tentukan. Ini adalah cara yang berguna untuk melihat apakah ada perintah dalam file BAT yang memiliki kesalahan saat mencoba dijalankan.



About the author

audiophile engineer dan spesialis produk audio dengan pengalaman lebih dari 10 tahun. Saya mengkhususkan diri dalam menciptakan speaker musik dan headphone berkualitas dari awal hingga akhir. Saya ahli dalam memecahkan masalah audio serta merancang pengeras suara dan sistem headphone baru. Pengalaman saya lebih dari sekadar membuat produk yang bagus; Saya juga memiliki hasrat untuk membantu orang lain menjadi diri mereka yang terbaik, baik itu melalui pendidikan atau pengabdian masyarakat.



Related posts