in reply to Re: Launch Windows Explorer from Windows DOS prompt
in thread Launch Windows Explorer from Windows DOS prompt
I combined jimbojones' original script with the ideas from davidrw, and then added a command-line option so you could specify a path. So for example you can set up desktop shortcuts to open an explorer window pointing to things like "C:\Apache\conf".
I had to change the -d test in the sort
specification from
-d $b <=> -d $a
to
(-d $b ? 1 : 0) <=> (-d $a ? 1 : 0)
because I was getting errors messages about
invalid numeric comparison...
use warnings; use strict; use Cwd; use File::Spec (); use IO::Dir; my $path = shift || cwd(); $path = File::Spec->canonpath($path); if (-d $path) { chdir $path or die "Can't chdir to \"$path\"\n"; my $dir_handle = IO::Dir->new($path) or die "Can't open \"$path\"\n"; my @items = sort { (-d $b ? 1 : 0) <=> (-d $a ? 1 : 0) || $a cmp $ +b } grep { ! /^[.][.]?$/ } $dir_handle->read; undef $dir_handle; $path = File::Spec->catfile($path, $items[0] || '.'); } elsif (! -f $path) { die "Can't find \"$path\"\n"; } exec 'explorer.exe /e,/select,' . $path; # launch Explorer exit;
Larry
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Launch Windows Explorer from Windows DOS prompt
by davidrw (Prior) on Apr 14, 2006 at 21:57 UTC |