Saturday, November 22, 2014
Text Size

Print Directory Contents to a File

A friend asked me if there was a quick way to simply right-click on a folder in Windows Explorer and it would generate a text file with the contents of the directory he right-clicked.

We can do this by adding an entry to the context menu (when you right-click on an object). The following is a method of adding this as a single command similar to how we add the "Command prompt from here" option (now built-in to Windows 7). I added this option for him in Windows 7 Ultimate using the system registry (see "How: for Windows 7" below).

  1.  -- yield 
  3.  a_subfolder_in_this_folder 
  4.  a_file_in_this_folder.txt 
  5.  another_file_in_this_folder.doc 

For Windows XP:
  1. Open an instance of Windows Explorer and click on "Tools"
  2. Select "Folder Options..."
    Open Windows Explorer, Click on Tools, Click on Folder Options...
  3. Select the "(NONE) Folder" option
  4. Click on "Advanced"
    Select (NONE) Folder, Click on Advanced
  5. Click on "New..."
    Click on New...
  6. Enter the New Action as per the following:
    1. Action: - Give the action name a memorable name (eg. "Print Directory Contents To File")
    2. Application: - Type the following c:\windows\system32\cmd.exe /c "dir %L /b > %L\directory_printout.txt"

    Add Action and Application used to perform action
  7. OK and close all open window dialogs
  8. TEST: Open an instance of Windows Explorer, Right-click on a folder and select the action you named in step 6.
For Windows 7:
  1. Open the system registry (Start > Run... > Type "REGEDIT" > OK)
  2. Navigate to My Computer\HKEY_CLASSES_ROOT\Folder\shell
  3. Create a new key with the action name (eg. "Print Directory Contents To File" - replace spaces with underscores if you are unsure this will work)
  4. Add a key to this one called "command"
  5. Under the "command" key, there should be a new string value called "(Default)". If there isn't create a New "String Value", name it "(Default)"
  6. Double-click this string value and type the following c:\windows\system32\cmd.exe /c "dir %L /b > %L\directory_printout.txt" (including the double-quotes)
    RegEdit Keys, Strings and Values
  7. TEST: Open an instance of Windows Explorer, Right-click on a folder and select the action.

Additional Notes:
  1. This outputs the contents to a text file called "directory_printout.txt". This file will be stored in the folder that you asked to list.
  2. Instead of C:\windows\system32\cmd.exe, I could have used %Comspec% or even %windir%\system32\cmd.exe but with some group policies, you will get an "access denied" message. If you don't have a C:\windows folder, then find your "cmd.exe" program and change the path in the above instructions accordingly.
Add Comment





Latest Posts

  • Convert to Proper Case in T-SQL

    • Tue 11-Nov-14
      Hi Brandon, An excellent point as I completely forgot about that one. I guess in the UK we don't get ...
      Joel L.  
    • Thu 06-Nov-14
      Thank you for this! One of the cases I'm going to try to adapt it for is addresses. In the US, we ...
      Brandon C.
  • SSIS: How to loop through multiple flat files as data sources

    • Thu 13-Nov-14
      Hey Mario, Looks like for each loop you set up at #5 will take care of that, doesn't matter if you ...
      Ramsey K.  
    • Sat 01-Nov-14
      Hi, thanks, bit not clear on #6, I still have file name from step #1
  • Windows 7: System Clock is constantly going out of sync

    • Sat 01-Nov-14
      Thank you..that solved my issue. Just wondering whether preventing my computer from synchronizing ...
      Ravi G.