blog
Scan QR Code To Quick Access The Tech Fug

Tuesday, 26 August 2014

What Is A Batch File & How To Write A Simple Batch File?

with 0 Comment

What is a Batch (.bat) File ?

A batch file contains a series of DOS commands, and is commonly written to automate frequently performed tasks. Instead of typing the same commands over and over, you can simply double-click the batch file. Writing a batch file is easier than it looks; the difficult part is making sure that everything happens in the right order. Well-made batch files can save you a lot of time over the long run, especially if you deal in repetitive tasks.


Note: In Linux, shell scripts are used instead of batch files



How to write a simple Batch(.bat) File?

Step 1: Open Notepad. Notepad allows you to create code as a text file and then save it when you're done as a batch file. You can open Notepad by clicking Start → Programs → Accessories → Notepad. You can also enter notepad into the Run box.


Step 2: Learn some basic batch commands. Batch files run a series of DOS commands, so the commands that you can use are similar to DOS commands. Some of the more important ones include:
  • ECHO - Displays text on the screen
  • @ECHO OFF - Hides the text that is normally output
  • START - Run a file with it's default application
  • REM - Inserts a comment line in the program
  • MKDIR/RMDIR - Create and remove directories
  • DEL - Deletes a file or files
  • COPY - Copy a file or files
  • XCOPY - Allows you to copy files with extra options
  • FOR/IN/DO - This command lets you specify files.


Step 3: Write a program to create a directory. One of the easiest ways to learn how to create batch files is to focus on doing basic tasks first. For example, you can use a batch file to quickly create multiple directories.

MKDIR c:\example1
MKDIR c:\example2



Step 4: Save the file. Once you have entered your code, you can save the file using the Batch filetype.
  • Click File → Save As.
  • Click the "Save as type" dropdown menu.
  • Select "All files".
  • Enter a name for the program followed by .bat





Step 5: Write the code to make a basic backup program. Batch files are great for running multiple commands, especially if you configure it to be able to run multiple times. With the XCOPY command, you can make a batch file that copies files from select folders to a backup folder, only overwriting files that have been updated since the last copy:

@ECHO OFF 
XCOPY c:\original c:\backupfolder /m /e /y

This copies over files from the folder "original" to the folder "backupfolder". You can replace these with the paths to the folders you want.
 /m specifies that only updated files will be copied,
 /e specifies that all subdirectories in the listed directory will be copied, and
 /y keeps the confirmation message appearing every time a file is overwritten.

Step 6: Save the file. Once you have entered your code, you can save the file using the Batch filetype.
  • Click File → Save As.
  • Click the "Save as type" dropdown menu.
  • Select "All files".
  • Enter a name for the program followed by .bat

Step 7: Write a more advanced backup program. While simply copying the files from one folder to another is nice, what if you want to do a little sorting at the same time? That's where the FOR/IN/DO command comes in. You can use that command to tell a file where to go depending on the extension:

@ECHO OFF 
cd c:\source
REM This is the location of the files that you want to sort
FOR %%f IN (*.doc *.txt) DO XCOPY c:\source\"%%f" c:\text /m /y
REM This moves any files with a .doc or 
REM .txt extension from c:\source to c:\text
REM %%f is a variable
FOR %%f IN (*.jpg *.png *.bmp) DO XCOPY C:\source\"%%f" c:\images /m /y
REM This moves any files with a .jpg, .png, 
REM or .bmp extension from c:\source to c:\images

Step 8: Save the file. Once you have entered your code, you can save the file using the Batch filetype. 
  • Click File → Save As.
  • Click the "Save as type" dropdown menu.
  • Select "All files".
  • Enter a name for the program followed by .bat

0 comments:

Post a Comment