In the spirit of "tidying things up," and pushing out nearly-there projects, I turned my attention to http://www.codeplex.com/PSMobile. I have a number of seriously annoying (to myself and people around me) habits, one of which is having a hard time finding the motivation to get that last 1% bit of work done. I am trying to kill bludgeon that habit, and this is fruit number #2 of that attempt at self-correction. I have some other important out of band work that I need to complete, but I find I cannot concentrate on that until these personal projects that have been niggling me for ages are dealt with. Anyway, lets dispel a couple of questions with a screenshot:
Requirements
- ActiveSync 4.2 or higher (or Windows Mobile Device Centre 6.0+ on Vista) Download
- A Windows Mobile device (PocketPC/SmartPhone 2002, 2003, 2003SE, Windows Mobile 5, 6 or 6.1)
- Windows PowerShell 1.0 or 2.0 (CTP) Download
Features
-
Copy, Move, Delete items between folders on your device (including Storage Card) with standard PowerShell Cmdlets
-
Move/Copy files to/from your device and your desktop with ConvertTo-WMFile and ConvertFrom-WMFile
-
Get device information and manipulate and explore the registry with a rich device object returned from Get-WMDevice
-
Invoke-Item against remote items to or execute or trigger their associated applications
-
Invoke-Item with -Local switch to attempt to execute a remote file in the context of your local desktop (e.g. office docs or images/videos)
-
New "Mode" attributes specific to Windows Mobile file attributes: (I)nRom, Rom(M)odule
-
File/Folder objects' attributes can be modified with .Attributes properties just like FileInfos etc.
-
Tab completion with MoW's PowerTab
Download
File Manipulation
A picture's worth a thousand words.
Cmdlets and Definitions
Here's a table of the syntax for the included Cmdlets.
| Cmdlet | Definition | WhatIf / Confirm |
| ConvertFrom-WMFile * | [-Path] [-Destination] [-Force] [-Verbose] | Yes |
| | [-LiteralPath] [-Destination] [-Force] [-Verbose] | Yes |
| ConvertTo-WMFile * | [-Path] [-Destination] [-Force] [-Verbose] | Yes |
| | [-LiteralPath] [-Destination] [-Force] [-Verbose] | Yes |
| Get-WMDeviceInfo | [-Verbose] | |
| Get-WMMemoryInfo | [-Verbose] | |
| Get-WMStoreInfo | [-Verbose] | |
| Start-WMActiveSync | [-Verbose] | |
| Stop-WMActiveSync | [-Verbose] | |
| Start-WMProcess | [-LiteralPath] [[-Arguments] ] [-Verbose] | |
| Get-WMDevice | [-Verbose] | |
* These Cmdlets that accept a path will bind to pipeline input via PSPath property name.
If you've got any problems, suggestions or ideas, please post into the discussions board on the web site. Have fun!