Repository: PowerToys
Issue: New Module : Windows Path interactive
Labels: Idea-New PowerToy,Needs-Triage

### Description of the new feature / enhancement

Hello

I want to create a new module with this 4 firsts features :
 - Open a file or its parent folder from a string path
 - Past the file/folder path from files copied in the clipboard
 - Past a file or folder inside the windows explorer if a string path are present in the clipboard
 - In the explorer, send Ctrl+V with some text or bitmap inside the clipboard will create a file and fill it with the clipboard content


### Scenario when this would be used?

## Open a file or its parent folder from a string path
Imagine this log file :
```
Error : C:\fold\file name1.ext has not the right syntax
Error : //server/dir1/dir 2/random File Name.ext is missing and i don't add quote to delimit spaced path (deal with it)
```

- I select the first line\* (from 'Error' to 'syntax'), and I send "Win + Enter" :
  - PowerToy copy the selected txt
  - PowerToy found the windows path inside the txt (I already write a Regex for that : https://regex101.com/r/zWGLMP )\*
  - If path exist :
    - PowerToy open the file with his default software
  - else if path does not exist :
    - PowerToy warn the user that the path does not exist, and offer to open in explorer the first valid parent directory

\* It can parse the second line too, spaced path is not a problem

We can add some variation :
 - If PowerToy found more than one path, he ask user in a right click menu style wich one he want to open, or if he want to open all.
 - If user do Win+*Alt*+Enter, PowerToy open the parent path in explorer rather than open it in default software

### Open a file or its parent folder from a windows control
We can do the same with all windows control who hook a Ctrl+C.
Imagine a software who run a MessageBox who say "look at this log file : C:\a random\path\what\I'm\too\lazy\to find\log.txt".
You just have to send Win+Enter, and PowerToy can get the path with Ctrl+C, parse the path and open it !


## Past the file/folder path from files copied in the clipboard
Imagine you edit an .ini or .cfg file. You want to set a path to paramFile :
```
[ParamSection]
paramFile = //randomServer/random/path/that/i m/tired/to/get/inputFile.ext
```
So, to simply add the path, there is already Maj+RightClick from the explorer who offer to copy the path, and past it inside the .ini file with your favorite editor...
But I want more ergonomic way : I want, when I have a file or a dir copied in my clipboard, past the path when I send Ctrl+V !
We just have to add an exception for the explorer and dialog box like "Save As" or "Open..."

## Copy a file or folder inside the windows explorer if a string path are present in the clipboard

Imagine, you have build something in Visual Studio, and at the success, the compilator write in the console 
```
Build success in "C:/path/too/long/to/your/project/and more to binary/software.exe".
```

Now, you want to send the exe to a friend. You just copy the message, and send Ctrl+V in your OneDrive explorer to share your .exe.  

##  In the explorer, send Ctrl+V with some text or bitmap inside the clipboard will create a file and fill it with the clipboard content

- If want to quickly save some txt, copy it, and past in the explorer with Ctrl+*Maj*+V to save the clipboard content in a new file. 
  - Maj is needed to mark the difference when a windows path is present in the clipboard
- If you have some screenshoot in your clipboard, you just have to send Ctrl+*Maj*+V in your explorer to create a file with the clipboard content (bitmap, png, jpg...).

### Supporting information

Hello


I already made a proof of concept of this 4 feature with an AutoHotkey project.
You can try it here :
https://gitlab.com/nitrateag/windowsexplorertools

I recently discover PowerToy and I want to contribute with adding this 4 main feature who I use every day !
I'm thinking of redo this job in C#.


I hope that my contribution will interest you !

=)