Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

NDFF: NTFS Direct File Find


  • Please log in to reply
32 replies to this topic
Maestr0
  • Members
  • 652 posts
  • Last active: Aug 17 2019 06:07 PM
  • Joined: 18 Oct 2008
TFind is even faster : <!-- m -->http://deadnode.org/sw/tfind/<!-- m -->

but even that is not as fast as "everything": <!-- m -->http://voidtools.com/<!-- m -->

Alas, Voidtools' Everything does not export from the commandline, so using it as a way to search and exporting the results does not work.

GUI code I wrote to use TFind. Just requires you get the 32-bit and 64-bit versions and rename them respectively to tfind32.exe and tfind64.exe

I don't have 64-bit windows, so that part I had to guess.

GUI:
	GUI , +alwaysontop
	GUI font, norm cblack, Verdana
	GUI ADD, Edit, x5 w300 vcommand_search section r1, 
	GUI ADD, Button, ys w80 gGUI_fill_results default, OK
	GUI ADD, ListView, x5 r20 w390 gfunction_dclick -multi, Name|Path
	GUI , Show, w400, tFind search
return

GUI_fill_results:
	gui , submit , nohide
	lijst :=
	if A_OSType contains 64
		tfind = tfind64.exe
	else
		tfind = tfind32.exe
	
	Runwait %comspec% /c %tfind% "*%command_search%*" > "%A_ScriptDir%\output.txt"  , %A_ScriptDir% , hide
	
	FileRead , lijst, output.txt
	FileDelete output.txt
	Sort , lijst , U
	StringReplace , lijst , lijst , `r`n, `n, ALL

	LV_Delete()
	Loop , parse , lijst , `n
	{
		SplitPath, A_LoopField , OutFileName, OutDir, OutExtension, OutNameNoExt, OutDrive]
		LV_Add("", OutFileName, A_LoopField)
		LV_ModifyCol()  
	}
return

function_dclick:
	if A_GuiEvent = DoubleClick
	{
		LV_GetText(command, A_EventInfo,2)  ; Get the text from the row's first field.
		Run , %command% , useerrorlevel
	}
return

if there are better ways to do this or if I made an error or something, please tell me by replying in this thread.

The code currently exports to a file and then that is read and cleaned up. It'd be better if it were to export directly to a variable, but I haven't managed to do that yet, though I looked at stuff like cmdret... any thoughts on that problem?

jballi
  • Members
  • 1029 posts
  • Last active:
  • Joined: 01 Oct 2005

Alas, Voidtools' Everything does not export from the commandline, so using it as a way to search and exporting the results does not work.

FYI. Everything does have a command-line interface:
http://www.voidtools.com/download.php

awannaknow
  • Members
  • 372 posts
  • Last active: Mar 03 2019 05:18 AM
  • Joined: 14 Jun 2009
Everything is a search tool I use : very good one.

Maestr0
  • Members
  • 652 posts
  • Last active: Aug 17 2019 06:07 PM
  • Joined: 18 Oct 2008

Alas, Voidtools' Everything does not export from the commandline, so using it as a way to search and exporting the results does not work.

FYI. Everything does have a command-line interface:
http://www.voidtools.com/download.php


it does, but it does not export from the commandline, as I said ;)
I was aware of the command line options: <!-- m -->http://support.voidt... ... ne_options<!-- m -->

Everything is a search tool I use : very good one.


I'm looking for something to do my indexing/searching for the launchy-like script I've made. Essentially it allows you to set hotkeys to run/open files and do other assorted commands. I used to build an index via a loop, but I'll switch to tFind, I think. I would switch to Everything if it had the exporting option.

Anyone have an answer to my question?

jballi
  • Members
  • 1029 posts
  • Last active:
  • Joined: 01 Oct 2005

Alas, Voidtools' Everything does not export from the commandline, so using it as a way to search and exporting the results does not work.

FYI. Everything does have a command-line interface:
http://www.voidtools.com/download.php


it does, but it does not export from the commandline, as I said ;)
I was aware of the command line options: <!-- m -->http://support.voidt... ... ne_options<!-- m -->

The link you provided refers to command-line options of the main program. Those options are good for configuration, debugging, etc. The link I provided points to the download page. On that page is a program, es.exe, which acts as command-line interface to the Everything program. With this program you can perform most of the same searches that you can from the main Everything program. As with many command-line programs, the output is sent to the standard console which can be redirected to other programs or to the file system.

Maestr0
  • Members
  • 652 posts
  • Last active: Aug 17 2019 06:07 PM
  • Joined: 18 Oct 2008

Alas, Voidtools' Everything does not export from the commandline, so using it as a way to search and exporting the results does not work.

FYI. Everything does have a command-line interface:
http://www.voidtools.com/download.php


it does, but it does not export from the commandline, as I said ;)
I was aware of the command line options: <!-- m -->http://support.voidt... ... ne_options<!-- m -->

The link you provided refers to command-line options of the main program. Those options are good for configuration, debugging, etc. The link I provided points to the download page. On that page is a program, es.exe, which acts as command-line interface to the Everything program. With this program you can perform most of the same searches that you can from the main Everything program. As with many command-line programs, the output is sent to the standard console which can be redirected to other programs or to the file system.


I stand corrected! I'd seen that page, but somehow missed the es.exe program. Thanks, I'll go take a look at it right away.

mtvoid
  • Members
  • 2 posts
  • Last active: Dec 22 2010 01:44 AM
  • Joined: 21 Dec 2010
es.exe, the command line interface to Everything, will work if substituted for tfind in the script Maestr0 posted. There is one caveat, Everything must be running or in the system tray, otherwise running es.exe (from the command line or from within an ahk script) generates this message: Everything IPC window not found, IPC unavailable.

That being said, tfind is quite fast, but Everything is greased lightning.

Maestr0
  • Members
  • 652 posts
  • Last active: Aug 17 2019 06:07 PM
  • Joined: 18 Oct 2008

es.exe, the command line interface to Everything, will work if substituted for tfind in the script Maestr0 posted. There is one caveat, Everything must be running or in the system tray, otherwise running es.exe (from the command line or from within an ahk script) generates this message: Everything IPC window not found, IPC unavailable.

That being said, tfind is quite fast, but Everything is greased lightning.


qft

anyway, I solved that everything needs to be running by doing something like:

Process , exist , everything.exe
if errorlevel = 0
	run , %A_ScriptDir%\app\everything.exe -config shorthand_everything.ini,, hide , everythingPID
find_app = %A_ScriptDir%\app\es.exe
Runwait, %comspec% /c ""%find_app%" "*%command_search%*" -n 250 > "%A_Temp%\output.txt"" , %A_ScriptDir% , hide


Pitbull
  • Members
  • 10 posts
  • Last active: Apr 02 2011 09:35 PM
  • Joined: 31 Dec 2010
Not sure how good it is, but there is an alternative by Jam Software called UltraSearch which also search through Master File Table (MFT)

<!-- m -->http://www.jam-software.com/freeware/<!-- m -->

Maestr0
  • Members
  • 652 posts
  • Last active: Aug 17 2019 06:07 PM
  • Joined: 18 Oct 2008

Not sure how good it is, but there is an alternative by Jam Software called UltraSearch which also search through Master File Table (MFT)

<!-- m -->http://www.jam-software.com/freeware/<!-- m -->


<!-- m -->http://www.jam-softw...om/ultrasearch/<!-- m -->
direct link:
<!-- m -->https://www.jam-soft...UltraSearch.zip<!-- m -->

It works but a bit slower* than Everything and also larger, other than that, ultrasearch seems to do the job just fine, although I have not found any commandline parameters for it, which is what I needed in this thread.

* looks like a pause before searching instead of instantaneous searching.

Pitbull
  • Members
  • 10 posts
  • Last active: Apr 02 2011 09:35 PM
  • Joined: 31 Dec 2010
Here is another MFT search, it needs to load HDD before searching.

<!-- m -->http://ntfs-search.sourceforge.net/<!-- m -->

  • Guests
  • Last active:
  • Joined: --

Here is another MFT search, it needs to load HDD before searching.
<!-- m -->http://ntfs-search.sourceforge.net/<!-- m -->

Thanks for the suggestion.

It works, however:
1) you need to manually load a drive before you can use the tool
2) only available in German
3) no commandline argument
4) icons are not shown correctly in the results

Everything still rules supreme

Maestr0
  • Members
  • 652 posts
  • Last active: Aug 17 2019 06:07 PM
  • Joined: 18 Oct 2008

Here is another MFT search, it needs to load HDD before searching.
<!-- m -->http://ntfs-search.sourceforge.net/<!-- m -->

Thanks for the suggestion.

It works, however:
1) you need to manually load a drive before you can use the tool
2) only available in German
3) no commandline argument
4) icons are not shown correctly in the results

Everything still rules supreme.

Edit: whoops, posted the other one before logging in, couldn't edit or delete, hence this post

Pitbull
  • Members
  • 10 posts
  • Last active: Apr 02 2011 09:35 PM
  • Joined: 31 Dec 2010
Erm the file I downloaded NTFS-Search.1.1.0.6.exe was in English. One thing I noticed when using it I found more results than Ultrasearch. Double click on that file gives me info that it was previously deleted.

Can Everything search text inside of files? Problem is I prefer not to have indexing which Everything does. I at moment using BareGrepPro for searching text within files.

Maestr0
  • Members
  • 652 posts
  • Last active: Aug 17 2019 06:07 PM
  • Joined: 18 Oct 2008

Erm the file I downloaded NTFS-Search.1.1.0.6.exe was in English. One thing I noticed when using it I found more results than Ultrasearch. Double click on that file gives me info that it was previously deleted.

Can Everything search text inside of files? Problem is I prefer not to have indexing which Everything does. I at moment using BareGrepPro for searching text within files.


Maybe because my OS is Dutch that it switched to German, but really, it's in German for me without a way to change it that I've found.
Everything does not search inside of files, however, the indexing is almost instantaneous as far as I've noticed?

BareGrepPro hadn't been mentioned in this thread yet. It only has a paid variant? Is it better than the free BareGrep version? Because in comparison to Everything, that's slo-o-oooow.... on the other hand, Everything can't search inside files, but I left that empty.