Scripting.FileSystemObject
(1)
Windows 7
(1)
Vista
(1)
SNIPDid
(1)
XP
(1)
ActiveXObject
(1)
VBScript
(1)
PlainText
(1)

PlainText ver - EXTREMELY USEFUL INFO - Printing Directory Listings

Asked By Stan Starinski
21-Nov-09 09:28 AM
Goto:
http://windowsdevcenter.com/pub/a/windows/2005/01/04/print_directories.html


Printing Directory Listings

blog if she lived today. Imagine her writing poetry on her laptop and saving
it in a folder named C:\Sonnets, when suddenly she gets             an email
from her publisher saying he needs the titles of all the poems she is written
so far. So Liz opens Windows Explorer and selects the C:\Sonnets folder to
display a list of sonnets in the right-hand         pane  (Figure 1). Then
she wonders, How can I print a list of titles of these files?"

Funny how often users need to do this, yet there is no simple way to
accomplish the simple task through the Windows GUI. Of course, if you are
familiar with the command line or can do some scripting, it is not difficult.
So, out of curiosity I decided to "count" the ways this simple task could be
done in Windows; here is what I came up with.

1. Using the Command Line
The simplest way is to use the good old dir command with the /b switch to
suppress everything except the filenames. For example, to display the names
of files in C:\Sonnets, you do the following:

C:\>dir c:\sonnets /b
which produces:
But only three in all God's universe.doc
Go from me. Yet I feel that I shall stand.doc
I lift my heavy heart up solemnly.doc
I thought once how Theocritus had sung.doc
The face of all the world is changed, I think.doc
Thou hast thy calling to some palace-floor.doc
Unlike are we, unlike, O princely Heart!.doc


You can either redirect the output to a text file with:

dir c:\sonnets /b > titles.txt
Or you can redirect it to your default printer with:

dir c:\sonnets /b > prn
If you do not want to open a command-prompt window first, you can simply go
to Start -> Run and type:

cmd /c dir c:\sonnets /b > lpt1
If the directory you want to list contains subdirectories, you can use tree
instead of dir:

cmd /c tree c:\sonnets /f > lpt1
2. Adding a Context Menu Item
It would be nice to right-click on a folder in Windows Explorer and print a
list of items in the folder, would not it? This is easy to do by first
creating the following batch script using Notepad:

@echo off
dir %1 /-p /o:gn > "%temp%\Listing"
start /w notepad /p "%temp%\Listing"
del "%temp%\Listing"
exit
Save this with some name like printdir.bat in your %windir% directory, and
add "Print Directory Listing" to your context menu for Windows Explorer as
follows. Open the Folder Options tool in Control Panel, select the File
Types tab, and in the File Types column select the item labeled File Folder.
Then click on the Advanced button, click on New, and specify a name for the
action you want to perform and the batch file that performs it (Figure 2):


Figure 2. Associating the batch file printdir.bat with the action "Print
Directory Listing"

Once you are done, you can right-click on a folder in Windows Explorer and
print a list of the files it contains (Figure 3):


Figure 3. Printing a directory listing from Windows Explorer

This hack is cool, but it has a flaw when you implement it on XP: after
you have implemented it, every time you try to open a folder using Windows
Explorer, the Search Companion window opens instead of the folder you
selected. The workaround is a quick Registry edit described in Knowledge
Base article 321379, where this hack is found. Of course, you can further
customize the hack by tweaking the syntax of the dir command or replacing it
with tree, and so on.

3. Using Windows Script Host
Windows Script Host lets you leverage the power of scripting languages like
VBScript and JScript to automate almost any task you need to perform. For
example, here is a simple JScript that will list the names of all the files
in the C:\Sonnets folder:

var fso, e, file;
fso = new ActiveXObject("Scripting.FileSystemObject");
e = new Enumerator(fso.GetFolder("c:\sonnets").files);
for (e.moveFirst(); ! e.atEnd(); e.moveNext()) {
file = e.item();
WScript.echo(file.name);
}
Saving this script as listdir.js and running it with Cscript.exe, the

Stan Starinski wrote this, with guidance from inner voices:SNIPDid someone ask

Death replied to Stan Starinski
21-Nov-09 09:18 AM
Stan Starinski wrote this, with guidance from inner voices:

SNIP

Did someone ask a question?

--
Vita brevis breviter in brevi finietur,
Mors venit velociter quae neminem veretur.

Hi Stan,Nice work!

Dave replied to Stan Starinski
21-Nov-09 07:42 PM
Hi Stan,

Nice work!
If you are using Vista or Windows 7, it is much easier
to use the Snipping Tool! With only several clicks,
you can capture anything on the screen and then
either save it as a file or send it to an e-mail recipient.
You can use one of four different snips, including a
freehand one!
I keep it pinned to my taskbar so I can get to it whenever
I need it. It is also very useful to "grab" some copy from a
webpage (especially if they have blocked ctrl/p!)

Dave

And lastly:you cannot modofy that screenshot Sniptool createsm in a text

Stan Starinski replied to Dave
22-Nov-09 12:17 AM
And lastly:
you cannot modofy that screenshot Sniptool createsm in a text editor.
Obviously I am not going to modify graphics, not to mention the fact you
would need like 4000 shots to capture thousands of folders as they do not fit
all on screen, at once!
Post Question To EggHeadCafe