# Aborting an evaluation automatically after a specified time elapsed

I use the following code to evaluate a series of notebooks:

nb1 = NotebookOpen["C:\\Users\\....nb"];
SelectionMove[nb1, All, Notebook]
SelectionEvaluate[nb1]


where "..." refers to the exact address in my computer. The above code is repeated 24 times to evaluate 24 different notebooks. These 24 notebooks are equally distributed among 4 kernels so as to reduce the computational time. I aim to do all my computations in 12 hours, which means that I need to run every single notebook in 2 hours (i.e., either it gives me the result within 2 hours, or it'll be aborted at the end of two hours). So, the question is how can an evaluation be automatically terminated (i.e., aborted) after an elapsed time of two hours?

Any idea/help will be appreciated!

What you're looking for is TimeConstrained, see the doc.
TimeConstrained[Table[i,{i,1,1000000,1}],.5]

will evaluate only for 0.5s. Depending on what you want to achieve, you can also use Reap/Sow to keep track of your evaluations so that they are not lost completely when evaluation aborts.
• @Alex you could probably wrap the TimeConstrained around the cells inside your notebooks you want to run. That's definitely not a neat way but should at least work - assuming the cell structure allows that simple approach. – Lukas Oct 9 '15 at 8:57