Вы находитесь на странице: 1из 11

Batch Compiler

Documentation

Batch Compiler
Batch Compiler is the only IDE for batch scripts which comes with an excellent
compiler that enables you to compile your scripts into genuine executables
including your own icon, version info and resources!

# User Interface:
It has a very simple user interface. So you can learn yourself, as use it. Batch
Compiler makes sure that even a new-bee finds their work easy. With these
unique features; Debugger, QCI tool bar, Intellisense and On-mouse Help, Label
Sidebar and QC Pane and Advance-Commands, Batch Compiler makes coding
easy and interesting for you.

·0 Debugger

For the first time in batch scripting, Batch Compiler introduces a debugger for
batch files.This built-in debugger check your scripts for syntax errors while you
typing code as well as openning new scripts, running scripts and compiling
scripts.This feature reduces the manual debugging time and make your work
much easier and faster!

Note :
If you have enabled debugger on compling, running, and if you have 'Errors' in
your script, BC will not continue the action. It will show you the Debugger
Report and break the current action(compiling or running). But it wont do this
if your script has ONLY 'Warnings'. You can continue the action even if you have
'Warnings'. But it is recommended to have a look at the code if the Debugger
says it has 'Warnings'.

·1 QCI (Quick Command Insert) Tool bar

QCI tool bar is specially designed for new-bees. As you start your programming
life with batch scripts, it's our duty to keep you interested on what you are
doing. So QCI tool bar acts a major role on that. This tool bar is located just
under the Standard tool bar. It contains some mostly used commands as label-
buttons. When you click on one of them, a window shows up with a detailed
description of usage and etc. There's a button "insert" which allows you to
insert particular command into the script.

·2 Intellisense

This is a feature that almost every user enjoys.No matter you are a pro or a
bee, intellisense is always interesting.What is this "intellisense" then?
Well, when you're coding, you type commands generally.Isn't it boring when
you have to type all those commands every time you use them? yes we
know.So, intellisense remembers all those commands/sytax/snippests and
suggest them as a context menu while you are typing.As soon as you type two
letters in your script, intellisense sugget you a list of commands.You can use
arrow keys to select and press Enter key / double click on them to insert into
the script.

·3 On-mouse Help

Open a script.Focus your mouse pointer on any command.That's the On-mouse


Help.But make sure you're on the New-bee mode.Wanna have a clear image?
Okay.When you focus on a command, Batch Compiler shows it's usage,
description and syntax as a tool tip balloon.If you are a new-bee trying to
understand someone else's code, this is the best solution!

·4 Label Sidebar

Once you load a script to the workspace, Batch Compiler iterate through each
line and list all internal labels in the script.So this "Label Sidebar" contains all
those labels in a tree view.When you click on each label, cursor automatically
navigates to the particular line.Isn't it cool? There's more.If you double click on
a label, it will be bookmarked.Right click on it, bookmark is gone!

·5 QC (Quick Compile) Pane

Look at the right bottom corner of the workspace.That's the QC Pane. There
are four compiling profiles which allow you to choose as desired.You can
select your own icon but be advised that version info or resources WILL NOT BE
INCLUDED in this mode.

·6 Advance-Commands

Batch Compiler introduces you to a whole new world of batch programming.It


has a bunch of new commands which we call Advance-Commands.With these
commands you can do more interesting things than classic batch scripts.
Here’s the list of Advance-Commands we have included.We hope you can easily
understand them with the help of On-mouse Help and QCI (Quick Command
Insert) Tool bar.
(And do not forget to refer to the “Commands” and “Examples” sections of “Advance”
menu)

Advance Command are unique to Batch Compiler.They are speciallt designed to help
you perform advance operations; To see beyond.Lets see how you can use Advance
Commands.

·7 The rule

You MUST use prefix rem with the Advance command for the compiler to recognize the
Advance Command.And there must be only one space between the prefix and
command.Otherwise it will stay as a comment.

Add
BrowseFiles
BrowseFolder
CenterSelf
ChangeColor
ClearColor
CloseWindow
CursorHide
CursorShow
Divide
FastCMD
GenRandom
GetInput
GetLength
GetMasked
GetPercent
GreaterThan
HideSelf
HideWindow
LaunchSilent
LessThan
LimitDecimal
Locate
LocateAt
MakeInteger
MakeLower
MakeUpper
MouseCMD
Multiply
PaintBoxAt
PaintScreen
PrintBox
PrintBoxAt
PrintCenter
PrintColor
PrintColorAt
PrintReturn
PrintSpace
ShadeBoxAt
ShowSelf
ShowWindow
Subtract
Wait

Commands
·8 rem Add [Number1] [Number2]

Adds two numbers and returns the result in the variable %result%

·9 rem BrowseFiles [ ??? Optional_File_Extention ] [ %~dps0 Optional_Start_Path ]

Use Windows Common Dialog box to browse for a file. Use %~dps0 for the Start_Path to
browse in the EXE path. Selected file is stored in variable %result%

·10 rem BrowseFolder

Use a Windows Dialog to browse for a folder. Selected folder is stored in the variable %result
%

·11 rem CenterSelf

Center the console window on the screen

·12 rem ChangeColor [Integer_FGcolor(0-15)] [Int_BGcolor(0-15)]

Changes the color text will be printed on the screen

·13 rem ClearColor

Changes the color text will be printed on the screen back to default colors (FG=7 BG=0)

·14 rem CloseWindow "Window_Title"

Close an application window. You must know the window title. Surround the Window_Title
with quotes. Watch for double spaces.

·15 rem CursorHide

Hides the blinking cursor on the console window.

·16 rem CursorShow


Shows the blinking cursor on the console window.

·17 rem Divide [Number1] [Number2]

Divides Number1 by Number2 and returns the result in the variable %result%.

·18 rem FastCMD [Slot(1-9)]

Embed Graphic Wizard File (Saved Slot 1-9).

·19 rem GenRandom [MaxInteger]

Generates a random integer no larger than MaxInteger and returns the number in the
variable %result%.

·20 rem GetInput

Lets the user type input and returns the result in the variable %result%.

·21 rem GetLength [Text]

Returns the length of text in the integer variable %result%.

·22 rem GetMasked

Lets the user type input (MASKED for passwords) and returns the result in the variable
%result%.

·23 rem GetPercent [Number1] [Number2]

Finds the percent [Number1] out of [Number2] and returns the result in the variable %result
%.

·24 rem GreaterThan [Number1] [Number2]

If Number1 >= Number2 (Greater than or equal to) returns 1 if true and a 0 if false in the
variable %result%.

·25 rem Hideself

Allows the compiled batch file window to go invisible and run in the background.

·26 rem HideWindow "Window_Title"

Hide any window on the screen. You must know the window title. Surround the
Window_Title with quotes. Watch for double spaces.

·27 rem LaunchSilent [Text_Filename] [Options(or "" )] [Int_WaitTillFinish(1or0)]

Launches any executable completely silent. Use double quotes "" if no options. Wait(1=YES
0=NO) Filename and path cannot contain spaces. Recommend Embedding the target EXE. Use
%MYFILES%\filename.exe to launch it. If you must run an App with spaces in the path, use CD
command to change the current directory then just enter the EXE filename without path.
·28 rem LessThan [Number1] [Number2]

If Number1 <= Number2 (Less than or equal to) returns 1 if true and a 0 if false in the
variable %result%.

·29 rem LimitDecimal [DecimalNumber] [Integer_X]

Limits the DecimalNumber to X number decimal places and returns the result to the variable
%result%.

·30 rem Locate [Integer_Y(1-25)] [Int_X(1-80)]

Moves the cursor Y number of spaces down and X number of spaces right from the top left
corner.

·31 rem LocateAt [Integer_Y(1-25)] [Int_X(1-80)]

Hides Cursor. Moves the cursor Y number of spaces down and X number of spaces right from
the top left corner.

·32 rem MakeInteger [DecimalNumber]

Makes the DecimalNumber an integer and returns the result in the variable %result%.

·33 rem MakeLower [Text]

Makes the text all lowercase and returns the text in the variable %result%.

·34 rem MakeUpper [Text]

Makes the text all UPPERCASE and returns the text in the variable %result%.

·35 rem MouseCmd [ x1,y1,x2,y2 ]

Create a button/hotspot that can be clicked with the mouse. Separate multiple buttons with
a space. Compile "rem MouseCMD GET" to get the coordinates of your buttons at run-time. They
are stored in the clipboard. The variable %result% will return which button number was
pressed. See example.

·36 rem Multiply [Number1] [Number2]

Multiplies two numbers and returns the result in the variable %result%.

·37 rem PaintBoxAt [Integer_Y] [Int_X] [Int_Height] [Int_Width] [Int_BGcolor(0-15)]

Hides Cursor. Paints a box on the screen at the Y X coordinates with the specified
dimensions and BGcolor.

·38 rem PaintScreen [Integer_BGcolor(0-15)]

Paints the screen the selected integer background color.


·39 rem PrintBox [Integer_Height] [Int_Width] [Int_BorderType(1or2)]

Prints a box centered on the screen with the specified border type.

·40 rem PrintBoxAt [Integer_Y] [Int_X] [Int_Height] [Int_Width] [Int_Border(1or2)]

Hides Cursor. Prints a box on the screen at the Y X coordinates with the specified dimensions
and border type.

·41 rem PrintCenter [Text] [Integer_Y(1-25)] [Int_FGcolor(0-15)] [Int_BGcolor(0-15)]

Prints one centered line of text on screen with the specified colors in the row Y.

·42 rem PrintColor [Text] [Integer_FGcolor(0-15)] [Int_BGcolor(0-15)]

Prints text on the screen with the specified colors without printing a Return after. Use
PrintReturn command if you must.

·43 rem PrintColorAt [Text] [Int_Y] [Int_X] [Int_FGcolor(0-15)] [Int_BGcolor(0-15)]

Hides Cursor. Prints colored text on the screen at the Y X coordinates without printing a
Return. Use PrintReturn.

·44 rem PrintReturn

Moves cursor down a line.

·45 rem PrintSpace

Moves the cursor a space to the right.

·46 rem ShadeBoxAt [Int_Y] [Int_X] [Int_Height] [Int_Width] [Int_ShadeType(1-4)]

Hides Cursor. Shades a box on the screen at the Y X coordinates with the specified
dimensions.

·47 rem ShowSelf

Allows the compiled batch file window to reappear after going invisible with HideSelf.

·48 rem ShowWindow "Window_Title"

Reveal a hidden window. You must know the window title. Surround the Window_Title with
quotes. Watch for double spaces.

·49 rem Subtract [Number1] [Number2]

Subtracts Number2 from Number1 and returns the result in the variable %result%.

·50 rem Wait [Integer_Milliseconds]

Waits the specified number of milliseconds before continuing (1000 = 1 second)


# Compiler:
Batch Compiler has an excellent compiler powered by "Advanced BAT to EXE
Converter".You can make real executables from your scripts using Batch
Compiler with following features,

1) Set custom icons.


2) Set version info.
3) Embed resources.
4) Make invisible executables.
5) Executables with administrator privileges.

But, Batch Compiler comes only with a trial version of it's compiler.If you use
compiled executables on a computer other than it's compiled on, there will be
a "Please Upgrade" message right before starting your program.So you must buy
a license if you are planning to distribute your program.

Buying a license make sure that,

·51 You will receive the full version immediately after payment via email
download link.

·52 Will remove "Please Upgrade" screen that shows before each compiled batch
file executes.

·53 You may distribute the compiled batch files to anyone, anywhere royalty
free.

·54 Free Priority email support... always here to help.

·55 Free Upgrades for a year!


and..
Help the Developer who has spent thousands of hours coding this project :)

# Miscellaneous:
·56 Error reporting and making Suggestions:
Batch Compiler has a strong Error/Crash reporting system. If program crashes
while working, "Send crash report" dialog will pop up. It is really appreciated if
you can send us those error reports in order to help us developing the
application. Having said that, if you feel like you want to make a suggestion,
you can use "Report Bug / Suggestion" button in standard tool bar to send a
direct e-mail to authors.
·57 Online updates:
Batch Compiler is a freeware along with a trial version of PRO Complier. We
provide 100% lifetime free updates for the freeware. If you buy a license, we
provide 100% free upgrades for a year.
You can simply go through "Help -> Online updates" and grab the latest version.

# Acknowledgments:
Throughout five years of a long journey, lot of people helped and pushed me
forward. It's worth mentioning them.

* Graphics by Lasantha Darshana (GoTek)

* Using,
Some icons from Yusuke Kamiyamane
Fast-Colored-TextBox
FarsiLibrary Tab Strip
Advanced BAT to EXE Converter

* Beta testing & support,


Salitha prasad
Pradeep Amila
Varuna Indrajith
Ishan Karunathilake

# User Agreement:
License Agreement

Copyright (c) 2014 J.A.Isuru Arunoda

Permission is hereby granted, free of charge, to any person obtaining a copy


of this software and associated documentation files (the "Software"), to use
the Software without restriction, including without limitation the rights
to use, copy and distribute this Software as it is.NO CHANGES/MODIFICATIONS ARE ALLOWED!.

The above copyright notice and this permission notice shall be included in
all copies of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

# Author:
Name: J.A.Isuru Arunoda Jayasuriya
Cyber : www.gotek.info , www.bc.gotek.info
E-mail: isurumy@gmail.com , batchcompiler@gotek.info , admin@gotek.info
Facebook: www.facebook.com/isurumy , www.facebook.com/batchcompiler
Skype: isuru.arunoda
Phone: +94788489835

====================================================================
=