 <p>It seems that as of Vista there is a property system (<a href="http://msdn.microsoft.com/en-us/library/bb776860%28v=vs.85%29.aspx" rel="nofollow">1</a> and <a href="http://msdn.microsoft.com/en-us/library/bb776859%28VS.85%29.aspx" rel="nofollow">2</a>) in which the properties are stored in the files themselves for portability, in contrast to data stored in alternative data streams. See Alex Martelli's answer in <a href="http://stackoverflow.com/questions/1512435/how-do-you-retrieve-the-tags-of-a-file-in-a-list-with-python-windows-vista">this question</a>, which is a similar one about Python. If I have understood that answer, you will want to find a way to hook into the <a href="http://msdn.microsoft.com/en-us/library/bb331575%28VS.85%29.aspx" rel="nofollow">Windows Search API</a> and query for the <a href="http://msdn.microsoft.com/en-us/library/bb787519%28VS.85%29.aspx" rel="nofollow">System.Keywords</a> and <a href="http://msdn.microsoft.com/en-us/library/bb760658%28v=vs.85%29.aspx" rel="nofollow">System.Comment</a> properties. </p> <p>PowerShell may be the way to go in this case; there is an example in the section "Windows Desktop Search cmdlet" <a href="http://www.codeproject.com/Articles/14602/Windows-Desktop-Search-Powershell-Cmdlet" rel="nofollow">at this link</a>, for instance. You may be able to talk to a COM object or WMI from Ruby, however.</p>