How to Loop your Code | PowerShell Looping

How to Loop your Code | PowerShell Looping

Here’s one way to loop your code with PowerShell. PowerShell looping is one of the easiest ways to loop through processes in code and a good way to start learning to iterate little processes you develop.

A rather typical procedure to learn early or it won’t make much sense when down the rabbit hole. I like how this code writes and teaches you how to iterate rather quickly. Be sure to paste and hit play.

$k= New-Object -comobject "Wscript.Shell"


Start-Sleep -seconds $b

$k.sendkeys("1 of $a$n")
Start-Sleep -seconds $b
} While ($a -le 5)

There are lots of ways to do things in code. Maybe you loop things differently?

But PowerShell keeps it rather simple.

When you’re wanting to loop text output, you can do so easily with Powershell using a DO WHILE.

do while loop in powershell-Windows PowerShell ISE

Here’s a loop we can use to repeat stuff in PowerShell.

Found the beginning of this lesson here, meaning I found code, copy pasted it, and it was enough to help me learn every aspect of the code. The lesson @ the Microsoft website is a little more extreme and doesn’t explain the line by line code, which I feel needs an extra explanation.

Line 1
$k= New-Object -com "Wscript.Shell"

New-Object Creates an instance of a Microsoft .NET Framework or COM object.

New-Object Opens the ability to send a keystroke within PowerShell.

We call this with $k moving forward.

Like in math class, you used X to represent a value or Y to represent a value.

This makes our code easier to write and read.

$k.sendkeys, later in the script, is now easier.

-comobject or -com for short is a special ability.

The -Comobject Specifies the programmatic identifier (ProgID) of the COM object. Luckily you don’t need to understand what this means.

Line 3,4,5

Like in math class, you have X representing a value and Y representing a value.

We will use these extra variables later in the tutorial.

Today, $a and $b represent a tiny lesson, which is.. you can leave unused code.


This tells PowerShell to make a new line whenever we say $n in our code. So when we output keyboard key strokes of “something $n” — powershell essentially hits “ENTER” on the keyboard. This is a powerful next step for anyone looking to automate their UI.

Line 7
Start-Sleep -seconds $b

Ever tried living without sleeping? Writing UI automation is the same. You need breaks, waits, pauses, etc.

In powershell, it’s called Start-Sleep -seconds X…

Line 9,10,11,12,13,14
$k.sendkeys("1 of $a$n")
Start-Sleep -seconds $b
} While ($a -le 5)

Here’s the full loop, a beautiful little tool that we can use to do very quick simple tasks, or loop massive dynamic scripts. Maybe it emails someone something every 15 minutes. Like a scheduler, you can pad a pause into this loop and expect the loop to repeat at the speed you desire.

So, not only are we saying something with our sendkeys tool, but we are also padding a pause into the tool.

If you want to learn more about the sendkeys tool, I built a blog called Make Your Computer Type For You in Powershell. Where I discuss that tool more. Let’s continue.

Line 9,10,12,14
} While ($a -le 5)

DO this work until X equals 5.

-lt is less than, and -gt is greater than. -le seems to be another operand and I cant seem to google it today. what’s nice is this code takes a split second to run. Test and use what works best for you.

$a++ is thing that increases. Per loop.

So the first run, makes the $a=1.

The second run, makes the $a=2.

The third run, makes the $a=3

4th, $a=4

5th, $a=5. Now the condition at the end stops the loop and continues reading the rest of the code.

After it repeats the loop 5 times.

It knows it increases once because of the $a++ logic we built.

$a++ effectively increases, +1, each time. It also helps us stop our loop from running forever. If you remove $a++ the loop will keep running into you end the script. Which means this could be a bit risky when pointed at the wrong or right thing.

And the condition…

1 -le 5

2 -le 5

3 -le 5

4 -le 5

5 -le 5

END… now the rest of your code would be computed.


Make Your Computer Type For You in PowerShell

Make Your Computer Type For You in PowerShell

Hello, here’s a quick tutorial on how to make your computer type for you in PowerShell on Windows.

Have you ever needed to type something on a computer?

Over and over.

And maybe you did not want to repeat that task.

This script is for you.

Making your computer type for you is the usual first step to learning how to make your computer do your work.

Also, the first step into getting started with UI automation.

What is UI AUTOMATION? An entire world of easy tools, that make your life easier the more you learn.

The goal here is you want to learn how to automate something that you are doing manually.

This kind of automation should be used to put yourself out of work so that you can get your life back with your family.

You can open PowerShell ISE, it’s a code editor.

Powershell ISE is a free app to help you develop code in Powershell. AKA Posh.

Powershell ISE is a free app to help you develop code in Powershell. AKA Posh.

Or open a text file and save the following code:

$k= New-Object -com "Wscript.Shell"
$c="Meow moew"
Start-Sleep -seconds 5

Save as a .ps1 file.

Hit play, or double click the file to execute.

It will take 5 seconds, then your computer will type Meow Meow.

If you kick off any automated security alerts, work with your IT department to unlock this ability. You are building a new app and that means it can do positive or negative things. Which is a risk from a commercial/enterprise business computing perspective. Also, data privacy, your manager, smart people in your company will likely want to know what the code looks like and will seek to read the code before they let it play in their environment. Or you’re at home and no big deal.

Line by line tutorial below:

Line 1
$k= New-Object -com "Wscript.Shell"

New-Object Creates an instance of a Microsoft .NET Framework or COM object.

New-Object Opens the ability to send a keystroke within PowerShell.

We call this with $k moving forward.

Like in math class, you used X to represent a value or Y to represent a value.

This makes our code easier to write and read.

$k.sendkeys, later in the script, is now easier.

-comobject or -com for short is a special ability.

The -Comobject Specifies the programmatic identifier (ProgID) of the COM object. Luckily you don’t need to understand what this means.

Line 3,4,5
$c="Meow moew"

Like in math class, you have X representing a value and Y representing a value.

We will use these extra variables later in the tutorial.

Today, $a and $b represent a tiny lesson, which is.. you can leave unused code.

And if you remove it, your code will be faster.

Line 7
Start-Sleep -seconds 5

Ever tried living without sleeping? Writing UI automation is the same. You need breaks, waits, pauses, etc.

In powershell, it’s called Start-Sleep -seconds X…

Optimize your code by updating the following.

$k= New-Object -com "Wscript.Shell"
$c="Meow moew"
Start-Sleep -seconds $b

Swapping values visually in paint using powershell

Paint helps quickly explain where these two swap. Helping us apply another X value to a number.

explaining basic stuff with screenshots in powershell

Here’s how we use $b later in the lesson. Glad you’re not skipping ahead! Powershell isn’t half bad, right?

Line 8

Finally, let’s make my computer say meow meow.

You’re passing the $c = “Meow meow” to whatever text field available.

explaining UI automation by automating text into my twitter handle @itylergarrett

Meow meow on twitter.. Great. 0 likes.

Interested in more?

How to Loop your Code | PowerShell Looping

Cool, I’m sure I will write about how to do this in advanced versions but without the basics, I doubt anyone will understand where this will go!


Tyler Garrett

A Very Quick Introduction to PowerShell

Powershell is a windows only computer programming language and it reads pretty easy on the eyes. You might be wondering why I’m saying it reads easy.

Some programming languages to do not read easy.

Some programming languages do read easy..

Powershell is one of those easy languages.

It’s free and comes on every windows computer.

It also usually comes with PowerShell ISE.

I’m going to add on to this more today and want a link to easily copy and paste. Come back later if you want to learn more.

How to Loop your Code | PowerShell Looping

Make Your Computer Type For You in PowerShell


Using PYAUTOGUI with Colaboratory – Not possible Today

Using PYAUTOGUI with Colaboratory – Not possible Today

Using Pyautogui with Colaboratory is not currently possible because the code isn’t running with an active display, rather it’s more of a web based place to run python… In this blog I show you the basics and you can follow along on my Colaboratory.

Being super new at python, and just discovering Colaboratory, I figured, might as well test this new python library Pyautogui, in Colaboratory, not really thinking about the logic of the code.

GUI automation should be accomplished on a local machine. Colaboratory is a nice place to add code related to pyautogui, and explain pyautogui, but it will not be a place for GUI automation as it does not have a relevant display, being that a server is running the code, you don’t have a relevant display… Literally none what-so-ever..

A screenshot of colaboratory when trying pyautogui

PyAutoGUI in Colaboratory to show what’s happening when you try pyautogui.

It was an interesting find and wasn’t surprised to see others are trying but no details on how it works in Colaboratory.

How I learned about pyautogui not working in colaboratory…

So, While automating boring stuff – I found a library called pyautogui.

Installing pyautogui is helpful if you’re looking to automate with python on your personal computer.

Which makes sense because a web based version of python isn’t going to drive your computer? Maybe in the future but the idea here is the process is happening in Colaboratory.

Colaboratory is an online colaboration tool that lets you write code, add files, and document python or other related topics. Mostly Python…

Pyautogui is developed to help people automate on their personal computer, taking advantage of your display, taking over operating system, mouse, keyboard… and moving the mouse to different directions, etc…

Want to see how Colaboratory treats Pyautogui today? I built out a bit of pyautogui and even explain why Pyautogui will not work with Colaboratory.

Follow along here.

List Comprehensions – Learning Python List Comprehensions w/ a non-developer

List Comprehensions – Learning Python List Comprehensions w/ a non-developer

Building a list is a very specific building block in learning code, being a data analyst, or whatever data driven role you find yourself sitting in.

Python List comprehensions provide a concise way to create lists. Common applications are to make new lists where each element is the result of some operations applied to each member of another sequence or iterable, or to create a subsequence of those elements that satisfy a certain condition. (from python)

What is list comprehensions? i for i

List comprehensions is the name of a way to create lists. A more technical rationale would be that list comprehensions provide a more concise way to create lists.

Before we begin, let’s discuss two simple methods to printing our list comprehensions.

print [i for i in range(3)]

Or we can use a letter, word, or letters+words. We will only use this method below.

x = [i for i in range(3)]
print x

Below, I will explain how to use list comprehensions, what list comprehensions is all about, and various ways to use list comprehensions when utilizing Python! Woohoo, getting excited, I can tell. (I can’t, I’m weird)

What is the goal with list comprehensions?

It is proposed to allow conditional construction of list literals using for and if clauses. It’s like you haven’t heard of either of these today, if so, go check out python’s website on list comprehensions. If this does make sense, you may also be interested to know the proposed solution not only lets you generate conditional lists with for and if, they would nest the same way for loops and if statements nest now.

About the tutorials below.
If you’re not entirely sure what any of the above text means, woohoo. You’re on the right track, you’re on the right blog, and if you do know the techie words above, but not entirely sure what it means in code, or in python… Check it out…

Tutorial 1, making a simple list of data in python using List Comprehensions

There are two different ways to make a list of numbers in python.

Take a look at List Comprehension and another more complicated method.

Assuming you have a basic python install and you’re able to do the 2+2 to get 4 in python.

Easy method to make a simple list in python.

x = [i for i in range(10)]
print x

## >>>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Complex method to make a simple list in python.

x2 = []
for x3 in range(10):
print x2

## >>>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Both X and X2 generate the same output!

We will focus on the Easy method known as “List comprehension”

Notice we are using a different letter in the list comprehension code below.
When learning python, a lot of example code has “words” which can be changed to letters. Like below, I’m using a “y”… Later in this tutorial or lesson… I’m going to keep changing the “y”, which is the results of the list comprehension in python below!

y = [i for i in range(11)]
print y

You may be thinking, okay, we are increasing the numbers each time, and changing the letter in the beginning. That’s true, it’s a nice little pyramid if you run every bit of code together, which is pretty cool to know… You might be copy pasting different pieces of the code, and in this particular chunk of code, you can run the entire set of code, and not need to worry about anything! It will give you a results of our list comprehension code, which is clearly marked as “print” “firstletter”… easy enough to keep up with.. here’s a curve ball, I changed i to meow, and that works too.

z = [meow for meow in range(12)]
print z

This list comprehension code below has more than a letter, similar to the complex list generation code above, we used x2 (example 2), and similarly, we are not using a letter to describe the results of the list comprehension. For the new programmers -> Light bulb moment? You can name the “X”, “Y”, “Z” anything you damn please… If you’re following here, you should now see a pattern, and easy pattern to generate simple lists with a range of #’s. Also, you might be seeing a little bit of math. How exciting! You’re doing math, in python!

tyler = [i for i in range(14-1)]
print tyler

In the list comprehension below, I’m simply demonstrating addition… On the range() portion of the code.

tyler2 = [DOG for DOG in range(12+2)]
print tyler2

More math, yes division, multiplication, subtraction and addition work in python, pretty well too..

I tested, it’s accurate.

tyler3 = [i for i in range(14/2+7+1)]
print tyler3

#All results should look like:

#[0, 1, 2]
#[0, 1, 2]
#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

The next few tutorials on list comprehensions will be right up your alley, if you understand the techie mumbo jumbo this will be a good refresh and a hilarious chunk of code you can likely help optimize, and I will gladly add anyone in the tutorial blog posts – and link to whatever website, github profile, etc, and help you rank better. As a novice at all things python, I’m excited to get to know you more as you take the journey I once took. I’m excited to get to know people who think this is total trash too. I need that kind of feedback. I’m learning every day, coding is hard, and I only know what I know, and that means if someone could show me all the ways the code works, I will master the code, otherwise I’m MR. Trial and error. so longest story short, you’re here to learn, me too, so let’s get started by learning everything there is to know about list comprehensions.

python list comprehensions is as necessary as eating this shaved ice desert

Python list comprehensions is as necessary as eating this shaved ice desert.

List comprehensions are powerful but poorly explained by the current top two ranking websites. That’s because they are…

  1. the company website – very smart stuff
  2. some random blog with affiliate links and viruses, popup ads..

I’m excited to show you a proper list comprehensions tutorial, without a single pop up, google ad, or affiliate link.

Pythonforbeginners sold their blog off for marginal return. Popup ads in 2018…

Making Lists in Python – List Comprehensions

Some may call this an “i for i” + “python” on google!

Why is Tyler Garrett rebuilding the wiki on List comprehensions?

The current content when googling i for i python or list comprehensions, is currently plundered with garbage water.

Automate generating a list of values using python 2.X
List comprehensions 101…

If you are new, eager to learn quickly, want to learn without having to code, need lots of examples… Looking for a lot of sample code, that tests a lot of different variations of list comprehensions, or maybe… You looked online, didn’t find anything decent, a little upset trying to learn python, need a better guide… Maybe it’s just me.

Cool, that’s why I write, to replace the TRASH WATER blogs online. No monetizing, no click ads, just solutions.

Setting up Pip on Python 3.7 in Windows 10 — A non-developer version

Setting up Pip on Python 3.7 in Windows 10 — A non-developer version

Ready to start learning python? You may think installing python 3.7 is the right step, I recommend starting with python 2.7 and upgrade if necessary. If you insist, here’s how to get python 3.7 on windows 10 pc.

After this blog you will..

  1. become yoda
  2. install python 3.7 on windows 10
  3. use python 3.7
  4. links to tutorials and beginner info

Installing python on windows PC!

If you’re running Windows: the most stable Windows downloads are available from the Python for Windows page. Screenshot walkthrough, step by step, on bottom of recommendations portion, built for new people learning to install python on windows PC for the first time.

  1. Visit the python for windows page.
  2. Download python 3.7.0 by clicking the link in step 3.
  4. Begin the download and follow screenshot instructions below.

If you get stuck or lost — you can ask me for helpIf you’re a first timer, and you just think python 3.7 install on windows 10 is the next best step…

Please, read through and learn from my awful mistakes.

Need to learn more about python install and my recommendations?

I made a bunch of stupid mistakes learning python because there’s lame ass websites ranking and they don’t really have very good content. Like Python For Beginners — spams malicious popup ads, I blog about it in that link.

Before we begin, I want to mention…

I also write about uninstalling python 3.7 because my project ended up requiring 2.7, which is available natively if you have a macbook!

Quick hint, keep your installer! You likely don’t need python 3.7 today if you’re new, and you likely will be better off using an older version, which will have more documentation, college courses, smarter people than me… Blogging about these older versions, for over a decade… But if you insist. The answer to installing python 3.7 is one header down.

If you’re not already using pycharm, I strongly consider you find a smart python writing tool, if you really need python on your local computer, I’m going to recommend stop…

Downloading and installing on your local machine isn’t necessary and could cause issues if you already have a version installed and you’re not familiar with the basics… I understand because I, Tyler Garrett, also sucked a lot at this portion and felt obliged to share the solution and the journey.

Screenshots from installing python on windows PC Python Release 3.7.0

Open your executable.

Or if you’re not that techie, navigate to your download folder…

Or search your computer for python-3.7.0-webinstall.exe

Screen shot 1 from python release 3.7.0
Install now option works for me! Check add python 3.7 to path to add it to your system variables, i guess…. we will look at that later. Worst case scenario, it’s unchecked for a reason and reinstall would not hurt you at this point.
Setup progress — I’m literally always happy to get a screenshot during this progress bar load. I wonder how well this screenshot will rank next to other python 3.7.0 tutorials.
Only 4 screenshots! Not a bad little install. Open online tutorial and documentation to get your beak wet, or scroll down because like I said above, I don’t want you to have to google a lot of stuff, scroll below to learn more about python or get a refresher. Also, links to tutorials built by Python!

Testing to see if python 3.7.0 installed on your windows machine

  1. find your python.exe executable.
  2. Here’s where mine was located:


Show hidden items or folders to find your appdata directory.

Double click python.exe!

A black screen opens and you will see something like:

Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:06:47) [MSC v.1914 32 bit (Intel)] on win32
Type “help”, “copyright”, “credits” or “license” for more information.

You will be able to type in front of >>>

Type 2+2+1

Congrats, you just used Python to do basic aggregation.

“next steps: check out setting up pip on python 3.7 below”

A quick tutorial on setting a constant value of X to True, and then processing it through an if statement to print text. Pretty exciting because I thought it would be more complex to dive into if-statements.

“Python is an easy to learn, powerful programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented programming. Python’s elegant syntax and dynamic typing, together with its interpreted nature, make it an ideal language for scripting and rapid application development in many areas on most platforms.” Source.

“The Python interpreter and the extensive standard library are freely available in source or binary form for all major platforms from the Python Web site,, and may be freely distributed. The same site also contains distributions of and pointers to many free third party Python modules, programs and tools, and additional documentation.” Source.

The Glossary is also worth going through. offers a Wiki —

So if you’re not sure what you should download, and you’re not looking to use a PC with python, go look here to begin.

Here’s a quick deep dive into python.

By the way, the language is named after the BBC show “Monty Python’s Flying Circus” and has nothing to do with reptiles. Making references to Monty Python skits in documentation is not only allowed, it is encouraged! Source.

Python allows you to split your program into modules that can be reused in other Python programs. It comes with a large collection of standard modules that you can use as the basis of your programs — or as examples to start learning to program in Python.

If you do much work on computers, eventually you find that there’s some task you’d like to automate.

Alright, cool story, have fun.


IfI’m not building analytics apps at work, or helping musicians download free loops and samples.. I enjoy writing terribly about Python, or other tech tutorials.

Typos by Tyler Garrett

Previous version of the python 3.7 blog, back when i typed more than coded.

Install python, or do my how to install python 3.7 windows 10. This can be accomplished using the python installer at Setting up Python 3.7 on windows 10, the non-developer tutorial for those who don’t want to figure out every little aspect, and prefer having someone teach them the path to success. Read more of my python struggles here.

Python 3.7 is rad — I wanted to originally use it but I realized I was not able to shorten links with the tinyurl library, so I reverted back to a version that allowed me to use the tinyurl library (python 2.7).

After you download the latest version of python, like python 3.7, you have a little bit of a journey ahead of you. Let’s begin.

Python requires a type of installer to gain access to complex libraries written in god only knows… The goal is you don’t need to write these complex libraries from scratch, you can call them up, with non-complex code, and get away with practical murder from an automation perspective.

I’m excited about the fact that I can build what I want in a few lines of code — and so far it makes sense. But to get to the point of making your apps, we need some foundation, a means of downloading, there are a few methods, let’s start with the pip method first.

Now now… if you’re new… Don’t worry about the latest version. You will not need 3.7 for awhile. Download python 2.7 first and find an updated version of 2.7. Otherwise you will be playing with a lot of environment variables and dependencies, which make it complicated to learn fast.

Seriously, 2.7 is easier for newbs. Go there first. I’m learning on 2.7 and after writing this blog for 3.7, I realized I wanted to be on a later version to use fun stuff like building short links with tinyurl in python.

Setting up Python 3.7 Pip on Windows 10

Next steps are rather easy, you can follow along, and setup your python pip installer — without breaking a sweat, on windows 10.

Start by getting → from

Right click the website and save this to your desktop.

Double click the file, and wait for the installer to complete. That’s all, now pip works. Check it by following this next step.

Testing PIP is working with your new python 3.7 install on windows 10

Open your cmd terminal thingy, hit the windows key, type cmd, hit enter. Your terminal should automatically popup.

How to quickly access your command prompt or CMD on windows 10.

Type “pip” in CMD to learn more about pip

/!\ Before do anything, install or upgrade the Setuptools Python package. It contain compatibility improvements and add automatic use of compiler
pip install — upgrade setuptools

install microsoft visual C++ 14 — setting up visual studio build tools 2017

Installing microsoft visual c++ 14 seems to be necessary when setting up lxml, a type of parsing tool that allows you to quickly parse XML and HTML, which we will want to build our web parsing, or scraping tools.

visual studio installer build tools 2017 c++ 14.0 etc etc etc… takes time, start it now.

Will know if our pip install lxml errors clear up after this restart (oh yeah and restart is necessary here).

Start early, the next part takes longer.

Getting this pip installer thing going takes a little bit, but luckily I’ve consolidated it here lol.

The install takes a little bit of time too.

setting up visual studio build tools 2017
As you’re installing, go check out your next hurdle. Beautiful soup!

Here’s what you need to check out to knock out the visual studio portion.

  1. explains the basics.
  2. shows you what to download.

Run the installer, don’t select anything other than default settings, and click install. It takes a little bit, and then you need to restart.

Once we get back from the restart, we will do the following pip installs.

pip install lxml (breaks with out c++14.0.)
pip install requests (ran this early, seems to install no hiccups.)

pip install beautifulsoup4 (ran this early, seems to install no hiccups.)

Will report back and iron out these posts more later.

If you have trouble with your pip install on python2 vs python3, or something along those lines, check out this next blog… sometimes you can get ahead, and there are a few things to ensure you have completed, like the above mumble jumble.

Update, started using pycharm and rather enjoying it. It’s a type of code editing “easy mode” application that you might want someone to walk you through a few times. Or google a youtube video. I figured it out without googling or looking anything up, which means you can fly past me with the right mentor.

Blogged here: