Developer and Power Users Tool List for Windows
hanselman.com
hanselman.com
Unfortunately due to a personal dispute with a Webroot employee and Microsoft its signature ended up in antivirus databases, so don't expect any love from Microsoft. They often look at the APIs PH uses and use signature checks and other ways to block/discourage PH from using them. Also expect having to whitelist it with anti-virus products, but the source code is open and you can build it yourself if you don't trust what you are getting. [2]
[0] https://wj32.org/processhacker/nightly.php
[1] https://github.com/processhacker/plugins-extra/
[2] https://github.com/processhacker/processhacker/issues/454#is...
I once configured Process Hacker to automatically pin a crappy piece of corporate software to a specific CPU whenever it started to prevent it from starving the rest of the system.
Set-and-forget is so much better than having to constantly deal with the downsides of software you're required to run.
- Tabbed interface with multiple panes
- Every function can be assigned a shortcut
- Every button can be scripted
- Defaults can be overwritten
- Dynamic layouts based on folder contents, path or determined by a script
- Custom file previews, context menus, rename scripts
- Hooks for reacting to different events
- Every corner of the UI is themable
- Virtual filesystem for archiving and bookkeeping
- ...
One disadvantage is that you have to use an ancient version of JScript (ES3 / Microsoft flavor) or VBScript (possibly because of the need for communicating over a COM interface). Or use its own DSL for simpler scripts.
I wish it had support for a more modern / more popular languages for scripting. I wonder if QuickJS[1] can be integrated into it. Or Python. That would be really sweet.
For everything else on Windows (network mounts, fat/exfat) I currently use Space Sniffer (http://www.uderzo.it/main_products/space_sniffer/)
One thing issue with WizTree is that drawing the result is slow for large trees (a volume with a great many files spread over a the structure) compared to other programs. For one of my local volume at work which happens to include an archive copy of a huge (for VSS) source safe repository WizTree is slower despite the MFT shenanigans because drawing the result after takes enough time to undo the advantage. Though this is on SSD - I expect WizTree would reclaim the speed crown for this dataset on a "traditional" disk, where the reduced random access IO requirements of its MFT scan will be even more significant.
Great program, free, but I donated.
Having retested not I have local access to that filesystem again, the issue seems to be when used remote via RDC, even over a local wifi network. Running properly local the delay goes away in even the pathological case.
As SpaceSniffer has no similar bad slow-down on display updates, I assume that means how WizTree draws interacts badly with the remoting protocol: either it is drawing in small steps and RDC is trying to send each update out individually so many small updates are going over the wire, or the 3D-ish look is causing issues, or both.
Then there's VcXrv[1] to share your clipboard between WSL and Windows, it also lets you run Linux GUI tools in WSL. Essential IMO, if only for clipboard sharing.
Sizer[2] is another great tool for quickly resizing and positioning windows programmatically. Amazingly useful for spinning up specific sets of apps quickly.
IrfanView[3] is IMO one of the best quick image viewers / editors. It also has handy dev features (batch processing, quickly getting a hex value from an image, etc.).
I keep a list of dev related tools I use on Windows too at https://nickjanetakis.com/blog/the-tools-i-use.
[0]: https://dexpot.de/?lang=en
[1]: https://sourceforge.net/projects/vcxsrv/
It supports them well.
It has a drop down box where you can define the monitor you want for a specific entry and then window positions will be relative to that monitor.
Alternatively you can also set a window's position to any X / Y coordinate. So if you had let's say 2x 2560x14440 monitors and you wanted to position a window to the 2nd monitor you can tell Sizer to move it to X coordinate 3050 and it would be +500 pixels into the 2nd monitor. You just need to enable the checkbox "allow move outside screen bounds". That could be useful I guess if you wanted a window to span more than 1 monitor and you have super thin bezels.
I can’t quite believe it myself but i chsh’d to pwsh on my mac and linux boxes too.
Goodbye 30 lines of AHK just to capture and parse the output of a RunWait (in practice it was better to create a WSH com object and exec the command from there since it’s only 3 lines of code to grab stdout then).
prepend or append selected text to what's already on the clipboard with Ctrl+[ or Ctrl+]
find all windows with specific text in the title and resize them in a custom way (Window+])
insert custom strings or large blocks of text in other programs triggered by a keypress (its original reason for being)
eg: ]s inserts the current date and time: 2020-12-25 11:57:07
define a keypress to start Putty with a given profile, enter logon credentials, CD to a folder and start Midnight Commander
(these are my own keypress definitions)I once wrote an AHK script to start VLC streaming a local radio station at a specific time, then start Audacity to record audio, then stop the recording and streaming at the end of the program and save the audio as WAV and MP3. This let me go for a bike ride in the late afternoon before dark, then come home and listen to my favorite radio show later in the evening. It's not necessary anymore, but back in 2008 this was an amazing thing to put together.
prepend-selection.ps1:
$before = Get-Clipboard
[void][System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms')
[System.Windows.Forms.SendKeys]::SendWait("%({TAB})") # when launched, a powershell.exe opens and steals focus, this alt+tab takes focus back to the app that has the text selection
[System.Windows.Forms.SendKeys]::SendWait("^(c)") # ctrl+c
$after = Get-Clipboard
Set-Clipboard -Value ($after + $before)
Now for the impossible bit - perform this action on ctrl+[ keypress... I created a new shortcut on the desktop (in the start menu would also work) with a target of: powershell.exe -executionpolicy bypass -noexit -file prepend-selection.ps1
And the "start in" was set to the dir containing prepend-selection.ps1Lastly the "shortcut key" of the shortcut was set to CTRL+SHIFT+[ -- i couldn't use CTRL+[
... and it works. Open an app like notepad, put something on the clipboard, select some other text then ctrl+shift+[ with notepad still having the focus and... wait far too long but then eventually powershell.exe opens and i have the selected value prepended to my clipboard.
0 out of 10. Would not do again, AHK definitely beats powershell for this use case :-)
For #2 i know how to do that already - create a Shell.Application com object and then cycle through the window list and set width / height / top / left to suit.
For #3 i didn't try it but i wonder if there's a mechanism where i can insert a function to be called back into window's message processing loop. Like how i imagine AHK does it. This is just a thought, i'd just use AHK before i actually tried this.
For #4 this suffers the same issue as #1 with the "define a keypress" limitation but otherwise it's just an exec + focus window + send keys (likely with some hacky sleeps in between).
But tool is awesome, and community is great.
I finally decided Powershell is not so much a shell but rather an environment good for scripting.
What direction did you come from when embracing it? Did you have a strong background of Unix admin / developer use of shells?
My usual cli usage is what i’d call “text manipulation” - slicing and dicing command output or converting csv-like data in some way or another.
My toolset is the usual suspects - bash, sed & awk but beyond a certain complexity i’ll switch to python.
The key thing for me is i can still use grep, sed, awk and python in pipelines as before but i’m attracted by the easy data access in pwsh.
The idea that Get-Process returns an object and i can just query each process’s WSS attribute for example is appealing right now (as opposed to explicitly manipulating text to suit, e.g. grep resident /proc/*/statm or ps -o rss or whatever approach)
Some random examples i use all the time:
* i have a bunch of apps (i think of it like a workspace) that i open for specific tasks - e.g. when playing ham radio i’ll open a tool that lets me duplicate traffic to/from a serial port (com0com) so that multiple apps can share 1 physical port, a tool that lets me control my radio (flrig), a tool that lets me route audio between devices and software without a mess of cables doing it in hardware (voicemeeter banana), a tool that encodes/decodes messages (wsjtx), a tool that shows what grid squares i’m hearing (gridtracker) and a tool for logging (home brew). They all need to be arranged in fairly bespoke ways across a couple of screens to let me work effectively - bind the shortcut to the .ps1 to a keyboard shortcut and i’m done.
The same idea exists for my other workspaces (dev work - there’s different flavours for this one by task, photo editing, researching, presenting, etc. Etc.)
Things like sending “PS1;” CAT control command to my radio (this turns it on) are actually less lines of code in .ps1 than .ahk. My .ps1’s are about 2/3 the size of the .ahk’s in practice.
Before .ahk i was using python2 with the win32 module, .ps1 is comparably expressive to python2 - which surprises me.
Other .ahk’s i use all the time are basically glorifed macros for common actions i perform. Again shorter to express in powershell.
I have tones of ps1 and tones of ahk files in folders. But its not comparable. Main use case of AHK is GUI automation, which is precisely not something powershell handles nor it will ever be in its scope.
Scott Hanselman works for Microsoft and is a prominent advocate for the .NET/Microsoft ecosystem so his recommendations are likely to skew towards native MS tools in the first instance.
Nothing wrong with that as long as you consume his material through that lens!
That said, I'm quite surprised I hadn't heard of Scoop[0]. Looks interesting...
[0] https://scoop.sh
Is that a good thing?
(Of course, you should. But sometimes it’s not an option.)
While they could prevent it, that's not how. The software is never "installed". It's only unzipped to scoops install directory (usually home/scoop/...)
Then it adds the install directory to the PATH and it's done. The copied executables have never been marked as unknown by windows in my experience.
Admins could of course lock down systems to only allow executables with specific hashedls which are manually whitelisted by the admins, but just disallowing installs won't help at all
Disallowing powershell or scripting altogether makes it impossible to use as well.
You can't really do that, as pwsh can be embedded easily.
I have a remote access to a ubuntu server, and I tried to use my zshrc but there is no zsh installed. Maybe asking the admin of the server to install zsh is another way to do it, but I managed to compile zsh and use it as my default shell. Although it works, but I wish that there is a easier way to install software locally without having to resort to compiling.
I recall that the developer of AppGet claiming [0] that Microsoft effectively "stole" AppGet from him.
[0]: https://medium.com/@keivan/the-day-appget-died-e9a5c96c8b22
[1] https://github.com/microsoft/winget-cli/blob/master/doc/wind...
Pretty much everything major with a installer is covered.
This may not be Scoops fault. I installed Irfanview with choco and have to reset my default programs setting every so often, presumably since Windows 10 takes user settings as suggestions for the Microsoft PM to ignore every few weeks when the OKRs get thin :).
https://github.com/lukesampson/scoop/wiki/Chocolatey-Compari...
One advantage is that scoop installs (most) tools into a common place and search path, and thus doesn't pollute environment variables as much.
However I'm wary of all these tools (including brew on Mac) as they all feel like a pretty efficient way to main line your own personal supply chain attack into your dev machine!
For that reason I now try to use them sparingly and with a high degree of suspicion.
As for threat model it comes down to whether using package management poses larger risk than doing everything manually and risking running a range of outdated packages.
The official software repo might be smaller than chocolate's, but to my eye, as it is moderated through a single open github repo, it seems much simpler.
I wonder if improving this is possible within the current design of Windows or if it would be a fundamental change in how it handles user privileges.
Won't the runas command (https://docs.microsoft.com/en-us/previous-versions/windows/i...) let you do this - run a command as Administrator without opening another command/powershell prompt?
Works like on linux. Runas and friends are junk.
From a non-elevated shell (cmd or ps), you can run `sudo <command>` to a roughly equivalent effect from *nix terminals. I find it meets my needs.
Something like RunAs? [0]
--
See the endless flame wars between DjVu advocates and .PDF die-hards for another example. Stick with the standard unless the improvement being offered by the newcomer is drop-dead amazing.
The correct command is '7z x <file>'.
It's quite a contrast from the good experience I had with 7zip on Windows.
Is there example from the Windows side? Programs that highlight the very best the Windows platform can deliver?
You never hear a company advertising that their product is only feasable thanks to the features provided in the .Net framework, or that their application takes advantage of the foundation provided by Windows.
I not saying that Windows is bad, it’s a truck, meant for business, and games. It’s just that there aren’t any overwhelming programs which could only exist on Windows. Many programs don’t even feel completly native to the platform, and basic features like drag’n drop, copy’n paste or shortcut are frequently a little hit and miss, it have become much better, but still, it’s a little late.
Visual Code is a fantastic product, but it’s not really a Windows application. That sort of tells me that not ever Microsoft really believe that Windows have that much to offer on the desktop, that you can’t just replace it with web technologies.
I search for a word or phrase through 1000s of documents, spreadsheets, PDFs, and email archive files going back two decades. On my desktop or in a cloud service. X1 displays matches in real time, fast-as-you-type, with all the results easy to grok in one glance in list form, sorted by any field. And on the same screen, X1 renders a preview of the file/email as I click through the list. No need to open the file/email: I can read the whole document right there on the search screen. I can also copy & paste from that document. And all search terms are highlighted.
> You never hear a company advertising that their product is only feasable thanks to the features provided in the .Net framework...
Yes you do. There are whole companies (and publications) that only exist thanks to the .NET framework and before that, Visual Basic. How many "Swift/Obj-C component companies" are there? On the .NET side I can count at least 2 big ones off the top of my head (DevExpress and Telerik), but I'm probably forgetting dozens more from decades past.
If these companies and their customers were already being served by Java or Obj-C then .NET would never have taken off.
Outside of the .NET components business, there is a whole class of applications which would be extremely difficult to develop and maintain on Mac and Linux. Programs like TortoiseGit which heavily customize the Windows Explorer and other bits of the Windows UI in ways which Apple would never provide APIs for. On Linux, to develop apps like these you'd have cover to much of the fragmented landscape of desktop environments. I still miss TortoiseGit on my Linux desktop.
AutoHotKey is also in another class of apps that I can't see existing for Mac or Linux. Automating Win32 is easy because you can hook into everything and there's a stable, unfragmented landscape. Here's something I recently did with AutoHotKey - created a 2 line script that waited for a "HID key/Special key/Media key" to be pressed and ran a program. On a Mac you'll be writing a whole custom program or hunting down an obscure utility. On Linux, you'll cobble together a few different programs depending on your DE setup. On my Mac, I had trouble even finding a program [0] that would show me what keyboard keys were pressed so I could use the key id in my script, like this - https://www.autohotkey.com/docs/KeyList.htm#SpecialKeys
> I not saying that Windows is bad, it’s a truck, meant for business, and games.
It's a general purpose OS, just like Mac and Linux. If Windows is a truck, all three of them are trucks.
> It’s just that there aren’t any overwhelming programs which could only exist on Windows.
What kinds of programs do you think could only exist on a Mac or Linux which could not possibly work on Windows?
> Many programs don’t even feel completly native to the platform, and basic features like drag’n drop, copy’n paste or shortcut are frequently a little hit and miss, it have become much better, but still, it’s a little late.
Not sure specifically what you're talking about here. But - a little late for what? The vast majority of desktop users and more than half of all programmers are already on Windows.
I've never had problems with basic features like cut/copy/paste or window management on Windows. On my Mac I've given up on trying to fix the lack of window management features and the inability to do things with keyboard like "pressing just delete to delete a file". On my main workstations I had to cobble together various scripts and obscure utilities to do things Windows does, such as "use this hotkey to move window to other monitor" (for XFCE).
> Visual Code is a fantastic product...
It's called Visual Studio Code or VS Code.
> ...it’s not really a Windows application. That sort of tells me that not ever Microsoft really believe that Windows have that much to offer on the desktop...
Nah, they built VS Code as part of their expansion into cloud services so they could market those services to Mac and Linux programmers more easily. Electron is just the path of least resistance for building cross-platform apps. They couldn't use Windows-only tech to build it because of course Windows-only tech is a bad way to build cross-platform apps.
[0] - Just found this today, but note the comment on the second answer that "it doesn't work for media keys" which was my problem. Also, the first answer doesn't show you key codes just highlights the key being pressed. - https://apple.stackexchange.com/questions/40192/how-can-i-te...
[1] - Not sure what Core ML can do that ML.NET cannot but here's an article highlighting a company using ML.NET - https://sigparser.com/developers/email-parsing/sentiment-ana...
[2] More here - https://dotnet.microsoft.com/apps/machinelearning-ai/ml-dotn...
macOS supports Finder extensions: https://langui.net/snailgit/
But you do have review like this one from The Verge, reviewing Pixelmator Pro, where they talk, briefly, about using the Core ML API from Apple. https://www.theverge.com/2017/9/5/16254300/pixelmator-pro-fe...
I never see things like that for Windows.
Total Uninstall should also be on this list, to keep your machine clean if you're like me and try out dozens or hundreds of different software titles per year.
SysInternals belongs up there with NirSoft.
I used Teracopy for a while but found it buggy on occasion and worried about forgetting what I had queued. If it's gotten better I might give it another whirl.
I've got a slew of great utilities I've collected over the years which I find indispensible on Windows. There's a lot of overlap with Scott's, but I think he's missing some gems. Could share my own list if anyone is interested.
Also seconding SysInternals - a true secret weapon for Windows ninjas! https://docs.microsoft.com/en-us/sysinternals/
+1 for Beyond Compare. Fantastic tool. Outstanding support from Scooter Software.
WinMerge is open source - maybe free software, I don’t know. Development halted for years but was picked back up. It’s so solid that I haven’t upgraded in a decade? or more.
- TouchCursor https://martin-stone.github.io/touchcursor/ the only one I found that allows you to use Space as modifier key, and works flawlesly (with other ahk scripts handling hotkeys running simultaneously). Praying it does not stop working with some Win10 update, as it is not being worked one, it seems
- https://github.com/zsims/hunt-and-peck for more mouse free operation of any program.
Personally I prefer to use left alt key instead of space key, as I can hold down the left alt with minimal effort (right alt takes over the duty of left). For this to cause minimal conflict, I use Sharpkey to remap physical left alt to e.g. F16 at the OS level, then define the desired behavior for F16 in ahk.
What I'd prefer is an open-source tiling window manager like i3. I've tried bug.n [3], but couldn't get it to work consistently for some reason.
[1] https://www.nurgo-software.com/products/tidytabs
But I think MSYS2 [0] still deserves a mention in the age of Windows Subsystem for Linux. It's a complete mingw-w64 distribution with a friendly package manager (ArchLinux's pacman). If you suddenly need to use some CLI tools on a Windows machine, MSYS2 can be quicker - no need to enable virtualization or upgrade Windows 10, just download a 91 MB installer and you can start right away. I recently needed to use wget on Windows to solve a problem for someone, instead of MSYS2, I made the mistake of downloading a random Windows build at SourceForge, later I was hit by a bug...
>Path Copy Copy is an add-on for Windows Explorer that adds contextual menu items on all files and folders allowing the user to copy the path(s) in various formats.
And of course https://alternativeto.net
Edit: First thing I'll install is most probably the Windows Subsystem for Linux :)
https://medium.com/@borekb/zsh-via-msys2-on-windows-3964a943...
You can basically keep your unix/zsh env for windows, I even make aliases for things like open = explorer.exe, ls = dir, etc...
I think my biggest annoyance with powershell in particular is that curl is aliased into this awkward powershell function by default
Not since August 2016 and the release of PowerShell Core 6. "PowerShell" now refers to the cross-platform branch, currently PowerShell 7.1.
The older one with that alias is now "Windows PowerShell", and is legacy and no longer developed.
It's still distributed by default with all versions of Windows where it is labelled “Powershell” with no qualifier.
Microsoft’s branding isn’t particularly internally consistent, so being ultrapedantic about one particular presentation of it, and one that itself conflicts with the one pushed most immediately in front of the largest set of customers by Microsoft, isn't necessarily a great approach.
No, it's called "Windows PowerShell", look: https://i.imgur.com/119yPbK.png
> "so being ultrapedantic about one particular presentation of it, isn't necessarily a great approach."
https://docs.microsoft.com/en-us/powershell/ - official documentation has sections for "PowerShell" and "Windows PowerShell 5.1".
You have outdated information. You can either update your information and use the current names, or you can pretend a tool from 4 years ago which has been deprecated and superceded at least twice, is the current one, the same way you can pretend that Windows 8 is the current desktop and be angry about the full screen start menu that "Windows has".
X-Mouse button control is another app I absolutely love. It replaced my Logitech Options, and works quite nice, and quietly sits doing just that.
While Windows Terminal doesn't have a settings UI (yet[0]) it does allow for theming, this page[1] features a range of color schemes that you can define and set in your settings.json.
There's also a wrapper that allows for quake style drop down [2] until it's implemented by Windows Terminal itself[0].
[0] https://github.com/microsoft/terminal/blob/main/doc/terminal...
That is amazing.
The product name is, however, unprofessional at best. Quite simply, it embarrasses me.
A partial workaround is to rename the shortcut, executable, directory, etc. to BareMetal Tail.
I tried to switch from macOS to Linux. I've found workarounds / alternatives to almost all of my issues on Linux. One issue seems to be unfixable though;
I have a 4K monitor and pretty much required to use fractional scaling. Windows and macOS does it perfectly. I had good luck with Pop!_OS but 1.5x scaling is always blurry on Linux. Apparently it can not do non integer scaling so the current hack is to scale 3x and then resize the framebuffer to half the size. Nope.
So I switched to the next best thing: Windows with WSL.
XFCE has features that you need 7+ Taskbar Tweaker for on Windows, like being able to middle-click a taskbar button to close it's window. Any feature XFCE didn't have such as "move a window to another monitor with a hotkey" were easy to script with xdotools or other similar utilities. With the recent release of XFCE (4.16 I think?) we got fractional scaling as well.
I also found it easier to add custom commands to Thunar's context menu than Windows Explorer. Thunar also has tabs and so does the XFCE terminal emulator.
Beyond that, I'm no longer constantly fighting with Windows Updates, Windows Firewall or Windows Defender or navigating the fragmented landscape of shells (PowerShell, Cmd, Git-Bash, Cygwin, etc.) just to get my job done.
When I setup a Linux workstation (Manjaro is my preferred distro), it stays the way I configured it without Microsoft constantly changing things out from under me - so I feel like I actually own the system.
Middle click on a taskbar window preview popup closes the window on Windows without having any taskbar tweakers installed.
I'm not even sure what the point of HiDPI is though. It never made a difference for my work as a web developer. I understand it's more pixels per inch and less pixelation for high-res images, but if everything is getting scaled up what's the difference?
My (Windows 10) gaming rig used to be hooked up to a 4K 50" Samsung TV but I think the max I could get was 60Hz. Games and movies look pretty good there, but eventually I switched to a cheap 1080p/144hz gaming monitor because I play Rocket League mainly and that is a fast action e-sports game where you want to see as many FPS as possible.
On a 1080p I can easily see individual pixels from a mile away and everything looks simply bad. I can not stand text on a low dpi screen.
Also, when I use 1.5x scaling, I have 1.5x more real estate. Hence my requirement for the fractional scaling. Even on 2x scaling (effectively turning it into a 1080p display) everything looks much better than a native 1080p display.
On Linux, another workaround is to set the font scaling to 1.5× (or whatever) but leave the display scaling at 1×. This leaves everything sharp with big enough text to read easily.
My windows display settings lists 150% as recommended and it works the best: https://s3.eknkc.com/x/2020/12/25/Bv55iSLhjp.png
But it is extremely sad to ditch an entire OS for lack of what seems a manageable issue, fractional scaling. I wish it wouldn't be necessary.
There has been lots of projects with that goal like Cygwin, Mingw, WSL*. Different virtualization glue layers etc.
For most of the part there has been lots of effort to different runtimes (PHP, Python, Docker etc) to make them work better with Windows and the end result usually is that it's a lot more easier to have the same stuff running on top of Real Linux instad of different kind of kludges the Windows versions require.
Windows has its quirks, but I can say I prefer it at this point. And still do all my development in WSL, so win win.
https://www.stardock.com/products/fences/
It is an amazing feature, I still can’t believe no major OS includes something similar as default.
(If you're on Linux, there's also guake, which I used to use)
It searches inside archives, Excel files and other MS Office documents.
Supports replace.
Killer features for me:
- Right-click to search in File Explorer (complete directories w/t subdirectories
- Open line results in a custom editor, like Notepad++
- Whole-file preview
- or: Show some lines before and after the grep finding (configurable)
- Search-and-replace, including undoI've gotten this working with some extra tools, and the experience is pretty good, but it is still a bit too fiddly for me to consider it as a primary solution for everyday development.
Then you could test the gui apps with xwindow forwarding over ssh. I use putty/xming for this.
It allows you to control your privacy by deactivating various Windows functions, and you don't even need to install it.
Also MS' apps replaced some 3rd party apps. Example: Chocolatey -> WinGet, GOW -> WSL, F.lux -> removed (maybe alt: Win10 supports night mode), Notepad2/Sublime -> VSCode
[0] — https://ueli.app/#/ [1] — https://pastebin.com/cmLVFdbB
- Moves across the screen for a while when using custom scaling
- Doesn't sort by most used result hits (always shows same order)
- Hangs for me when I click on results instead of navigating by keyboard
- Doesn't have an option to kill apps like Wox
But apart from these it does a lot of things quite well.
Btw, does anybody know of a modern disk usage manager that uses bright, clear individual colors like Space Monger?
[0] https://docs.microsoft.com/en-us/windows/powertoys/powerrena...
However, when there's directories and many, many files involved, I just use Python with pathlib. It's a couple lines of code anyone can learn to do, with all the flexibility of Python. PowerShell would maybe also be suitable.
Right click shelling out and using the FIND command is what I've resorted to so far. =(
On the command line, I just use grep (a cygwin version of it, installed with Git for Windows, I think).
By far the best utility for navigating open apps.
I have switcher on my desktop, switcheroo on my laptop. Both work quite well.
Are you familiar with O&O ShutUp10:Free antispy tool for Windows 10?
It can do what you want, and O&O is a respectable company.