Here's a fun one for folks who like to kick it old-school.
**Caution: For experienced users or those with more technical background**Scan any directory/subdirectory and capture all the file paths etc. Nice if you want to generate payload xml to access certain files directly, rather than through one of the standard media player plugins, for example. Of course, there are other uses as well.
James originally experimented with this using Launch.CMD, but using Launch.Capture turns out to be much neater and more reliable across systems (I think). So, once again: hat-tip to Master James.
http://voxcommando.com/mediawiki/index.php?title=Actions#LaunchHere is an example where we scan our NAS movies directory and then generate a payload xml of all the movie files. Included are some sample commands that then launch and play any of the titles using your default movie player if you have one.
You could do the same thing with folders of Word documents, or whatever.
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.2.0.9-->
<commandGroup open="False" name="example - scan movie folders to create payload xml" enabled="True" prefix="" priority="0" requiredProcess="" description="">
<command id="344" name="Scan movie folder" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>Launch.Capture</cmdType>
<params>
<param>C:\Windows\System32\cmd.exe</param>
<param>/C dir \\NAS\video\Movies\*.??? /s /b /A:-D</param>
<param>True</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>RegExTool.Open</cmdType>
<params>
<param>True</param>
</params>
<cmdRepeat>0</cmdRepeat>
</action>
<action>
<cmdType>Results.RegEx</cmdType>
<params>
<param>(.*\\)(.*?)( \.mkv | \.avi | \.mp4)</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>PayloadXML.Clear</cmdType>
<params>
<param>payloads\myMovies.xml</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>PayloadXML.AddPair</cmdType>
<params>
<param>payloads\myMovies.xml</param>
<param>{Match.{i}}</param>
<param>{Match.{i}.2}</param>
</params>
<cmdRepeat>{#M}</cmdRepeat>
</action>
<action>
<cmdType>OSD.ShowText</cmdType>
<params>
<param>created xml with {#m} movies</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<phrase>Scan my movie folder</phrase>
</command>
<command id="345" name="play my movie" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>Launch.OpenFile</cmdType>
<params>
<param>{1}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>TTS.Speak</cmdType>
<params>
<param>Now playing {PF.1}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<phrase>play my movie</phrase>
<payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">payloads\myMovies.xml</payloadFromXML>
</command>
<command id="381" name="play a random movie" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>PayloadXML.GetRandomP</cmdType>
<params>
<param>payloads\myMovies.xml</param>
<param>1</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>OSD.ShowText</cmdType>
<params>
<param>Now playing {Match.1}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>PayloadXML.GetValue</cmdType>
<params>
<param>payloads\myMovies.xml</param>
<param>{Match.1}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Launch.OpenFile</cmdType>
<params>
<param>{LastResult}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<phrase>play a random movie</phrase>
</command>
</commandGroup>
If you're too young to know how to use command line stuff, now's your chance to see how it works and explore how these fundamental concepts can be enriched in the VC environment.
To experiment with the above xml, you'll have to replace our NAS path with an appropriate equivalent on your system.
I find the SS64 website is a great reference for command syntax.
http://ss64.com/nt/ (in this case, follow the "Dir" link)