Add a context menu option to list all files in a folder and save it as text file

okthen has commented here with an easier way if you know registry :
Go to the Folder tree My Computer\HKEY_CLASSES_ROOT\Folder\shell\ Right Click and select New»Key name the key “List Files and Folders” Now add another key to it named command. Go to the Default on right panel and double click on Default REG_SZ and paste
cmd /c dir %1 /a /b >%1\list.txt
Thanks okthen

Well the title explains it all. What we are going to do is add an option like this to the context menu (Right Click) of all folders. When you click on that the result of a dir command (all files and folders in that Filder) are listed and saved to a file name Listofile.txt in the same Folder. This file is then automatically opened. All this can be done by using simple tools available in windows itself. If you need to know more about batch files please read the tutorial on Batch files. Consider reading it first if you don’t know what a batch file is.

Step 1 : Create a batch file

The required commands saved in a batch fileCreate a batch file named “ListFile.bat” at “C:\Program Files\Mine\” folder (of course you can use any name and any location). Noe Right click on it and select Edit. The file will now be opened in NotePad. Enter the following lines as seen in the screen shot here. This step is common to both methods - using registry and using folderoptions menu. The commands are :

cd %1
dir /a /p /o:gen>listofile.txt
start “List of Files” notepad listofile.txt
exit

First line the batch file accepts the path of directory you clicked and changes the directory - cd to it. %1 is the argument.The second line produces the list of files and directories and redirects (>) to a file in that directory named listofile.txt , “start” starts notepad as a new process independent of the batch file and opens the listofile.txt .If you simply type notepad the process will be child of the batch file the result can be observed if you try it.

Adding an option to folder Menu

Easy way - Folder options

Goto Folder Options and select File types select New to add the new action to folder context menu.

Files listed stored automatically into a text file
In the Actions add List Files and Folders, in the Application used to do the action: add “C:\Program Files\Mine\Listfile.bat” “%1″ including the quotes. The %1 tells Windows to send the Path of the folder to our batch file when List Files and Folders option is selected.
list-files-show-add-folder-option-command.gif

Just restart Windows or Restart Windows Explorer and you will see the added options.

Hard Way - Registry Editing

OK so if you want a brief intro to editing registry please read the previous posts - Introduction to the Windows Registry, Editing Registry a few things to know. Now Go to the Folder tree My Computer\HKEY_CLASSES_ROOT\Folder\shell\ Right Click and select New»Key name the key “List Files and Folders” Now add another key to it named command. Go to the Default on right panel and double click on Default REG_SZ and paste “C:\Program Files\Mine\Listfile.bat” “%1″ and save it.

Registry Key to be added.

So the adding section is finished both the hard way and the easy way.

Result

Since all the hard work is done now lets go for the piece of cake. Right Click on any folder and select List Files and Folders. You will see the file named Listofiles.txt opened and the list of files inside that. The file is also saved inside the folder you selected.

File produced as the output listofile
This as can be seen is the result produced by dir command. This is really simple but can help us understand and tackle Windows our way. Do experiments with other options also. And if you have any doubts just contact me .

You may also want to know How to implement built in Parental Control in Windows XP

Buy me a cup of hot coffee - help me keep posting all through the night

If you are new here you may want to subscribe to this blogs full feed RSSSubscribe to full feed RSS of this blog
so that you will get the updates automatically to your feed reader.

Tags: , , , ,

You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

RSS feed | Trackback URI

7 Comments »

Comment by AjithNo Gravatar
2008-01-29 16:47:16

Test Comment to verify the comment form

 
Comment by okthenNo Gravatar
2008-02-16 23:06:11

Go to the Folder tree My Computer\HKEY_CLASSES_ROOT\Folder\shell\ Right Click and select New»Key name the key “List Files and Folders” Now add another key to it named command. Go to the Default on right panel and double click on Default REG_SZ and paste

cmd /k dir %1 /a /b /s >%1\list.txt

exit registry editor

 
Comment by okthenNo Gravatar
2008-02-16 23:11:03

oops messed up its

cmd /c dir %1 /a /b >%1\list.txt

Comment by AjithNo Gravatar
2008-02-16 23:26:28

Thanks ‘okthen’ its better and easy…

 
 
Comment by okthenNo Gravatar
2008-04-05 04:08:16

sorry i messed up awhile back
cmd /c dir %1 /a /b >%1\list.txt

would not only be unable to list files in folders with long file names but also it would not be able to output the list.txt to a folder with a long file name in order for it to work with long folder names, u need to use quotes around the %1’s also, if you use >> instead of > it will append to any existing list.txt in the folder you are catalogging instead of replacing the text file with a new one

if you want to append to a pre-existing list.txt when one already exists in the output folder then use:

cmd /c dir “%1″ /a /b /s >>”%1″\list.txt

or if you want it to replace a possibly pre-existing list.txt in the same output folder every time

cmd /c dir %1 /a /b >%1\list.txt

————————————————
if you dont wanna screw around in regedit
————————————————
then copy the following to a notepad document and then save it (where you can find it to click on) as listfiles.reg (NOTE make sure when u are in the save as dialog box in notepad you must use quotes around “listfiles.reg” otherwise it will loose its .reg extension and be useless)

[Start copy below this line]

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Folder\shell\Make FileList]

[HKEY_CLASSES_ROOT\Folder\shell\Make FileList\command]
@=”cmd /c dir \”%1\” /a /b /s >>\”%1\”\\list.txt”

[End copy above this line]

once the above is saved into a file called “listfiles.reg”
find the file in whatever folder you put it in
Right click on the file, left click on Merge
a box will ask are you sure? Yes/No click Yes

now you have a new command available “Make FileList”
when you right click any folder you will see this option

if you left click on the option it will then create a new file within that folder called list.txt which contains the contents of that folder as it was each time you told it to make a list

i realised awhile back i did not afford for long folder names but only now decided to correct it since i want to use almost the exact same thing to create a context deltree command (for quick erasure of files when i want it without using 1: shift+delete or 2: telling recycle bin to never be active keep files)

Comment by AjithNo Gravatar
2008-04-06 13:18:29

Hi OKTHEN
thank you very much.
BTW please contact me if you don’t mind .. I don’t have your email address

 
 
Name (required)
E-mail (required - never shown publicly)
URI
Subscribe to comments via email
Your Comment (smaller size | larger size)
You may use <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> in your comment.

Trackback responses to this post



My Google  Netvibes  My Yahoo!  Windows Live  Bloglines  Newsgator