How to script configuring Windows 10 Indexing? - windows

Windows Search is built on Windows Index settings (shown below).
I need to make a powershell script (so everyone here can just run the script to get configured), to :
Add appro dir struct to the list of indexed locations
Set a list of visual studio file types to index file contents
What would such a script look like?

It seems that File Types can be added and changed via the registry.
To add a new File Type and set it to "Properties and File Contents" using "Plain Text Filter", create a key at: Computer\HKEY_CLASSES_ROOT[.extensionYouWantToAdd]\PersistentHandler
Set the (Default) value to
Type: REG_RZ, Data: {5E941D80-BF96-11CD-B579-08002B30BFEB}
I'm not sure, but I'd venture a guess that the GUID specifies that the plain text filter should be used.
I imagine that it is also possible to change the indexed locations in a similar manner.
I figured this out by adding new file types manually and then searching the registry and to find the changes that were made. I have confirmed this works and also found this article that recommends the same technique: https://www.itprotoday.com/windows-78/how-can-i-include-specific-file-type-file-system-search-under-windows-xp
For my case I will be editing the registry via other methods, but it seems this is possible via Powershell also as outlined here: https://blog.netwrix.com/2018/09/11/how-to-get-edit-create-and-delete-registry-keys-with-powershell/
Once you have changed the registry, you will need to tell the index to rebuild. (Covered here: How to rebuild Windows Search Index by using PowerShell?)

Related

can i make windows file explorer show certain text extracted from files as a new detail column?

I have folders full of log files, and I'd like to display their final status in a column in the folder they are in. That is, in Details view I want to make a new column that shows a piece of text which is extracted from each file. I don't expect to find such a thing out there, and the searches I've tried haven't even yielded a hint about how I would go about writing a plugin to do any such thing. Is it possible?
This sort of thing used to be possible with custom column handler shell extensions but Microsoft removed support for those in Vista (3rd-party Explorer replacements might still support them).
Microsofts inadequate replacement are property handlers. You cannot do this for .log files, you would have to invent a .myapp-log file extension.
Some people abuse the Windows 10 cloud API to create columns but that only works in specific folders.
If you are looking for a specific string in the last line, you could perhaps use a custom icon handler for .log files.

Always save specific file type in windows to one location?

I'm trying to do the following I'm not sure if it's possible using VB.NET.
I want to specify default saving point for all files type for example:
In my program you choose the path "C:\Users\Markus\Pictures" for pictures and everytime you download pictures files from website, or using skype or any other program when Save File Dialog opens up (external one not via my program or connected to vb.net just the windows default one) then it will show "C:\Users\Markus\Pictures" always for .jpg .gif type of files etc...
Thanks a lot.
This bits of codes should solve your problem
SaveFileDialog1.InitialDirectory = #"C:\Users\Markus\Pictures"
InitialDirectory property represents the directory to be displayed when the open file dialog appears first time.
SaveFileDialog1.Filter = "txt files (*.jpg)|*.jpg|All files (*.*)|*.*"
Filter property represents the filter on an open file dialog that is used to filter the type of files to be loaded during the browse option in an open file dialog.
refer to this link for more info
You can programmatically modify the paths of the Windows special directories (My Pictures, etc) in the registry key:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
However, your app will have to be granted permissions to do so (see RegistryPermission Class)
Of course, this will work for those file types that have entries in this registry key, and only if an external application uses this key

Custom folder field for windows 7

I would like to be able to add a custom field to folders in windows 7, and then be able to show that column(field) when viewing the folder in explorer (sort and group etc).
Question:
How can I achieve this? (is there a program I can buy / use or is there a way of doing this in windows 7?)
Example use case: I have folders for each job that I do - I'd like to mark the folder as "pending", "done" etc. I'm using custom folder markers at the moment - but that's limited. Having a number of these fields would be really powerful.
Basically, you need to create a new Windows Property. See Windows Property System at http://msdn.microsoft.com/en-us/library/ff728898(VS.85).aspx. I do not know of any program that allows you to create properties.
Moreover, see Creating Custom Properties at http://msdn.microsoft.com/en-us/library/cc144135(VS.85).aspx.
Here is an MSDN search for "Windows Property System" to get you started (http://social.msdn.microsoft.com/Search/en-US?query=%22Windows%20Property%20System%22)
Note, that Windows Runtime (WinRT) will make handling this properties fairly easy.
See: http://blog.rodhowarth.com/2008/06/how-to-set-custom-attributes-file.html
It appears using the DSOFile DLL from Microsoft you can add custom attributes to a file as long as it is on a NTFS.
However re-saving some file types depending on how their applications handle it - may strip the previously added custom property.
I think, you are just being silly, this will quickly overwhelm you with information overload,
you should simply instead of adding columns, just create folders and dump every folder you need inside it like so,,,
> - Pending
> - client 1
> - client 2
> - Done
> - client 3
lets, say you have finished with client 2 you just drag and drop it on the Done folder, or cut, and paste it on done,
easier to manage,
here is a something, I stumbled across, I think its alot more difficult to manage eitherway, your better off using excel, or simply the structure I mentioned above.
http://rkeithhill.wordpress.com/2005/12/10/msh-get-extended-properties-of-a-file/
hope this helps somehow.

Right Click in Windows Explorer

I have been trying to add context based right click in windows explorer for a file of extension L5X. I have tried HKEY_CLASSES_ROOT\l5xfile\Shell\convert\command and set the (Default) key value to the program I want to have open the file. (I want it to say "Convert" on the context menu) My first issue seems to be that in .NET (even when running elevated) I cannot change the Default key's value. My other issue is changing that Default key value doesn't do anything to the context menu. I would really prefer a no reboot required solution.
Also, I really need this to work on WinXP all the way up to Win7 (including Server 2003, 2008 and 2008R2). If I need to detect OS and do things differently for different OSes, I will but I'm really stuck here.
PS, I tried the solution found here with no luck.
You need administrator rights to write to HKEY_CLASSES_ROOT, HKEY_CLASSES_ROOT is a merged view of HKEY_LOCAL_MACHINE\SOFTWARE\Classes and HKEY_CURRENT_USER\Software\Classes. If you want to install it for just the current user, write to HKEY_CURRENT_USER\Software\Classes
\l5xfile\Shell\convert\command might not be the correct path, when windows looks for context menu entries for a filetype, it first looks in HKEY_CLASSES_ROOT\.EXT, then uses the default value it finds there: HKEY_CLASSES_ROOT\%defaultvaluefrom.EXT%\Shell\*
XP added a new key HKEY_CLASSES_ROOT\SystemFileAssociations designed for non-primary actions where you don't care about the ProgId/Class (The l5xfile part)
MSDN documents all these registry paths and settings, see: File Types and Verbs and File Associations

Where does Windows store its "Open With" settings?

I'm trying to programmatically check file associations by the file extension (for example .jnlp files). I keep reading that
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\JNLPFile\Shell\Open\Command
is the Registry key to check. However, if you change the association through Windows Explorer:
Open With > Choose Program > (Always use the selected program)
the change isn't at all reflected in this Registry key. Where else is this information stored?
Take a look in:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\
and the sub-key of that is the extension you reassigned. Under that there will be the UserChoice and OpenWithList sub-keys which will contain your redefinition.
You may also want to read http://support.microsoft.com/kb/950505 which talks about your issue.
Update
As of Windows 8, life has gotten far more complicated. To create an extension association a custom hash needs to get calculated.
Fortunately, someone has reverse engineered the process and created a PowerShell script to do this without having to go through any GUI.
You can find it at the following GitHub link:
https://github.com/DanysysTeam/PS-SFTA
This is a two-part look-up.
First, you look up the default value of HKEY_CLASSES_ROOT\[file_extension]. For your extensions, .jnlp, the value is "JNLPFile". Let's call this the [file_descriptor].
Now you can look up the default value of HKEY_CLASSES_ROOT\[file_descriptor]\Shell\[action]\command (where [action] is the shell action you are interested in, e.g.: Open, Print, Edit, etc.).
On:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jnlp\OpenWithList
Tip: Edit>Find is pretty handy at these situations. :)

Resources