Book Image

Programming ArcGIS with Python Cookbook, Second Edition

By : Donald Eric Pimpler, Eric Pimpler
Book Image

Programming ArcGIS with Python Cookbook, Second Edition

By: Donald Eric Pimpler, Eric Pimpler

Overview of this book

Table of Contents (22 chapters)
Programming ArcGIS with Python Cookbook Second Edition
About the Author
About the Reviewers

Adding Python scripts to batch files

Scheduling your Python scripts to run at prescribed times will require that you create a batch file containing one or more scripts and or operating system commands. These batch files can then be added to the Windows scheduler to run at a specific time interval.

Getting ready

Batch files are text files containing command-line sequences to run Python scripts or perform operating system commands. They have a file extension of .bat, which Windows recognizes as an executable file. Since batch files simply contain command-line sequences, they can be written with any text editor, though it is recommended that you use a basic text editor, such as Notepad. This is done so that you can avoid the inclusion of invisible special characters, which are sometimes inserted by programs, such as Microsoft Word. In this recipe, you will create a simple batch file that navigates to the directory containing your script and executes it.

How to do it...

Follow these steps to create a batch file:

  1. Open a Notepad.

  2. Add the following lines of text to the file:

    cd c:\ArcpyBook\Appendix1
    python c:\ArcpyBook\data Burglaries_2009.shp
  3. Save the file to your desktop as ListFields.bat. Make sure you change the Save as Type drop-down list to All Files, otherwise you'll wind up with a file called ListFields.bat.txt.

  4. In Windows, navigate to your desktop and double-click on ListFields.bat to execute the sequence of commands.

  5. A command prompt will be displayed during execution. After the commands have been executed, the command prompt will automatically close.

How it works...

Windows treats a batch file as an executable, so double-clicking on the file will automatically execute the sequence of commands contained within the file in a new command prompt window. All the print statements will be written to the window. After the commands have been executed, the command prompt will automatically close. In the event that you need to keep a track of the output, you can write the statements to an output log file.

There's more...

Batch files can contain variables, loops, comments, and conditional logic. These functionalities are beyond the scope of this recipe. However, if you're writing and running a number of scripts for your organization, it's worthwhile spending some time learning more about batch files. Batch files have been around for a long time, so there is no shortage of information about these files on the Web. For more information about batch files, please consult the Wikipedia page for this topic.