Batch file Windows: tips triks

Mungkin di era GUI ini banyak yang tidak kenal pemrograman shell pada keluarga Windows. Biasa dinamakan batch scripting. Cukup gunakan text-editor dan rename sebagai file .cmd atau .bat — bisa langsung di eksekusi. Baik melalui explorer ataupun console cmd.exe.

Memang tidak tepat disebut pemrograman … tetapi karena ada fungsi logika ‘IF’, maka saya menyebutnya pemrograman dasar 😀

contoh hello worldnya:

@echo off
echo Hello world!
echo %date% %time%
echo hello world! >c:\tes.txt
type c:\tes.txt
if exist c:\tes.txt del c:\tes.txt >nul

Script diatas adalah salah satu dasar dari scripting pada shell Windows. Script tsb akan menuliskan Hello world! sebanyak 2 kali pada layar. Yang pertama menggunakan perintah echo (tulis langsung), yang kedua akan membaca dari file tes.txt yang dihasilkan perintah echo yang menghasilkan output file tes.txt.

Perhatikan baris terakhir ‘if exist’. Artinya adalah: jika file c:tes.txt ada, hapus file tsb. untuk lebih jelasnya silakan ketikkan “if /?” pada command prompt. Oh ya baris pertama bagi saya wajib ditulis. agar proses output tidak menyebutkan perintah pada layar. Coba saja, bandingkan script diatas; memakai @echo off dan tidak memakai perintah tsb.

Contoh untuk membuka aplikasi pada batch file:

@echo off
%windir%\notepad.exe

%windir% artinya folder installasi windows. % di depan dan dibelakang variables bisa didapatkan dengan mengetik perintah ‘set’ pada command prompt. Misalnya %path% %temp% %username%. bisa dipadukan juga dengan echo atau apapun. misalnya untuk menghasilkan file info.txt yang isinya tanggal, jam, username dan folder installasi windows, dan output dari ipconfig & ping, dan akan membuka notepad. Scriptnya semudah ini:

@echo off
echo tunggu beberapa saat, proses.
echo Tanggal: %date% %time% >c:info.txt
echo Username yang login: %username% >> c:\info.txt
echo folder windows ada di %windir% >>c:\info.txt
echo dumping ipconfig: >>c:\info.txt
ipconfig >>c:\info.txt
echo dumping ping ke dns google >>c:\info.txt
ping 8.8.8.8 >>c:\info.txt
echo silakan cek file c:info.txt (notepad akan membuka file ini otomatis).
start %windir%\notepad.exe c:\info.txt
echo selesai.

Perhatikan tanda > & >> artinya beda. Satu > artinya akan menghapus konten pada file ybs, dan mengisi dengan output echo/ output dari program. >> Artinya menambahkan output. Jika pada awal program menggunakan >> artinya file info.txt akan terus membesar selama script diatas di eksekusi ulang.

Fungsi start adalah akan memunculkan program/script tanpa menunggu sampai program/script itu selesai. Jika ingin menunggu  sampai selesai nya program/script dipanggil hilangkan kata start atau tambahkan sintaks start dengan ‘start /WAIT <file-name>’.

Delay pada batch file ada 2 cara, yakni menggunakan aplikasi timeout (pada windows 2003r2/7/2008r2 ada), menggunakan script vbs ataupun menyalahgunakan perintah ping 😀 contohnya ini:

@echo off
echo akan menunggu beberapa detik
ping 1.2.255.255>nul
echo lama ga? kurang lama, silakan di double kan saja
ping 1.2.255.255>nul
ping 1.2.255.255>nul
echo sekarang akan menggunakan perintah timeout (tidak ada dalam semua versi windows)
timeout /t 40
echo barusan 40 detik, yang ini pasti tidak tahu berapa detik…
timeout /t 55>null
echo selesai

Fungsi sub ada juga pada batch file. Artinya memanggil sebagian/cuplikan perintah. contohnya seperti ini:

@echo off
:awal
echo program sepertinya baru di eksekusi pada: %date% %time%
echo.
echo akan melakukan ping ke localhost
:ulang
dir/w c:
dir/ad c:
ping localhost
cls
echo akan kembali ngeping, tekan ctrl+c {yes} untuk keluar.
goto ulang

Script diatas akan menyebabkan Looping melakukan perintah dir & ping localhost. :ulang adalah nama baris. Jika dipanggil dengan perintah goto ulang, akan balik lagi ke baris dimana :ulang berada. CLS artinya membersihkan layar, dari hasil output yang lama.

Biasanya batch file dipergunakan untuk otomatisasi tugas sederhana namun vital. Conthonya untuk mengunduh file (kolaborasi dengan tftp.exe ataupun wget.exe), merestart service database perbulan (dipadukan dengan schedule task dan fungsi net stop & start).

 

Post By Tommy Wiranto (68 Posts)

Rasa ingin tahunya, terkadang 101% -- petualang yang tertahan. Terkadang sombong, tetapi pada tempatnya.

Website: →

Connect