I don't know about you, but using scp/pscp with Putty on Windows is always an eye-gouging experience. It's really what made me decide to setup a Linux computer. But I like Windows! So here's how I upload files our servers.
First, by the way, you should add it to your "path" environmental variable, so you can launch this shit from the command prompt. I did it by going to (My) Computer > Advanced > Environment Variables > System Vars. Select the "Path" and add this to the end: "; C:\Program Files (x86)\PuTTY" or whatever your path to PuTTY is. Do it once and you can forget about it.
Maybe there is a way to use putty, but I don't know how. So you can open your command prompt. If you are using Windows 7, enter powershell, which is a smarter version of the command prompt. Actually, here's the whole deal, no more comments or further ado:
C:\Users\Scott>powershell
Windows PowerShell
Copyright (C) 2009 Microsoft Corporation. All rights reserved.
PS C:\Users\Scott>
PS C:\Users\Scott> pscp -P 2222 C:\Users\Scott\Desktop\modules.module scott@example.com:/tmp
The server's host key is not cached in the registry. You have no guarantee that the server is the computer you think it is.
The server's rsa2 key fingerprint is: ssh-rsa 2048 d0:75:70:12:db:23:e3:3a:b5:d9:64:bb:20:ce:ab:f4
If you trust this host, enter "y" to add the key to PuTTY's cache and carry on connecting.
If you want to carry on connecting just once, without adding the key to the cache, enter "n".
If you do not trust this host, press Return to abandon the connection.
Store key in cache? (y/n) y
scott@example.com's password:
modules.module | 21 kB | 21.3 kB/s | ETA: 00:00:00 | 100%
PS C:\Users\Scott> exit
That's it. When I find an easier way I will post.