The Best thing will be to avoid a script
In IE
Select File -> Import & Export in the dialog that appear,select export
favourites,select Favourites source folder ( select the topmost level,
to select all).
This creates a html file of your favourites and copy this file as your
bookmarks.html in mozilla
Phil wrote:
> I've been working on moving from Win2k to Linux and learning Perl
> at the same time, so I thought I'd kill two birds with one stone and
> write a Perl program to convert my IE bookmarks to Mozilla format.
> The meat of the code is at the end - comments and suggestions are
> more than welcome.
>
> At any rate, the code works and I have my bookmarks in Mozilla.
> However, I'm not completely happy with it. The output is too
> closely tied to the input. I'd like to rewrite it so that the
> output type could be specified - html, Mozilla, Galeon, etc.
> I'm not sure where to start, though. I had thought of reading in
> the favorites and storing it in a tree-type data structure, but
> wasn't sure exactly how to do this or how to write a routine
> to walk the tree. Any ideas or pointers to resources?
>
> -Phil
>
> code follows:
>
> open(OUTFILE,">$outfile") ||
> die "Couldn't open $outfile for writing: $!";
>
> print_header(\*OUTFILE,$rootdir);
>
> # Walk the directory tree and print the links
> print_favs(\*OUTFILE,$rootdir);
>
> print_footer(\*OUTFILE);
>
> # recursive function to walk the directory tree underneath
> # the directory passed in as a parameter. First the directory
> # is opened, then a list of the files/folders is read into
> # an array, and then the array is split into a list of files and
> # a list of directories. html links are output for the files
> # and the function is called again for each of the directories.
> # Stopping condition is when a directory is reached that has only
> # files, no sub-directories.
> sub print_favs {
> my $fh = $_[0]; # output file handle
> my $dir = $_[1]; # current directory
> my (@itemlist, @filelist, @dirlist);
>
> opendir(CURDIR, $dir) || die "Couldn't open $dir: $!\n";
> @itemlist = readdir(CURDIR);
> chdir($dir) || die "Couldn't chdir to $dir: $!\n";
>
> if ($dir ne $rootdir) {
> print $fh "<dt><h3 id=\"NC:BookmarksRoot\#$foldernum\"\>$dir</h3>\n";
> print $fh "<dl><p>\n";
> }
> $foldernum++;
>
> foreach (@itemlist) {
> # print $fh "Item: $_\n";
> # Only process non-symbolic links
> if (!(-l $_)) {
> if ((-d $_) && ($_ !~ /\.\.?/)) {
> @dirlist = (@dirlist, $_);
> }
> elsif ((-f $_) && ($_ =~ /\.url$/i)) {
> @filelist = (@filelist, $_);
> }
> }
> }
> foreach (sort @filelist) {
> print $fh "<dt>".getlink($_)."\n";
> }
> foreach (sort @dirlist) {
> print_favs($fh,$_,$foldernum);
> }
> print $fh "</dl><p>\n";
> chdir("..");
> }
>
> # takes the name of a windows internet shortcut file (from 'Favorites')
> # opens the file and parses out the url it refers to. The function
> # returns an html link with the url as the href and the name of
> # the file (without the .url file extension) as the label
> sub getlink {
> my ($file, $line, $url, $name, $link);
> $file = $_[0];
> open(URLFILE,$file) || die "Can't open $file: $!";
> while (defined($line=<URLFILE>) && ($line !~ /^URL=/)) {
> }
> if (defined($line)) {
> chomp $line;
> $url = substr($line,4);
> $url =~ s/\cM//;
> #print "URL: $url\n";
> $name = $file;
> $name =~ s/.+\///;
> $name =~ s/\.url//;
> #print "Name: $name\n";
> $link = "<a href=\"".$url."\">$name</a>";
> close(URLFILE);
> return $link;
> }
> else {
> return "";
> }
> }
>
>
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]