open directories, listing contents

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
shadow
Script Master
Δημοσιεύσεις: 606
Εγγραφή: 14 Απρ 2005 18:30

open directories, listing contents

Δημοσίευση από shadow » 03 Μαρ 2006 08:53

Οι guru της javascript πρέπει να μου δώσουν τα φώτα τους. Εχω το εξής:
έχω ένα directory το οποίο περιέχει pdf documents, (πιθανόν να περιέχει και subdirectories αλλά προς το παρόν θεωρώ ότι έχω μονο το root του directory) και θέλω να κάνω parse τα αρχεία που περιέχει ο φάκελος , και από τα αρχεία να κάνω extract το κείμενο (βασικά δεν θέλω να κάνω extract ολο το κείμενο αλλά την πρώτη παράγραφο που έχει τα στοιχεία του αρχείου). Το extract part θα το κάνω μέσω του pdftotext (τέσπα αυτό δεν έχει σημασία προς το παρόν). Θεωρούμε ότι με κάποιο τρόπο θα κάνω extract εγώ το αρχείο. Αυτό το οποίο θέλω ουσιαστικά να υλοποιήσω με javascript ειναι:
1. άνοιγμα του directory
2. διάβασμα του περιεχομένου του directory (listing files)
3. write contents σε ενα js file

Η ερώτηση μου είναι για το εάν με javascript μπορώ να υλοποιήσω την παραπάνω διαδικασία. Οποιοδήποτε υλικό θα με βοηθούσε
Close your eyes
For your eyes will only tell the truth and the truth isnt what you want to see
In the dark, is it easy to pretend that the truth is it ought to be.
Programmers are programmers because they like to code

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

open directories, listing contents

Δημοσίευση από skeftomilos » 12 Μαρ 2006 19:21

Το παρακάτω js script διαβάζει τα αρχεία του τρέχοντος φακέλου και εντοπίζει τον τίτλο αν υπάρχει:

Κώδικας: Επιλογή όλων

var fso = WScript.CreateObject('Scripting.FileSystemObject')
var folder = fso.GetFolder(fso.GetParentFolderName(WScript.ScriptFullName))
var results = []
for(var e = new Enumerator(folder.Files); !e.atEnd(); e.moveNext()) {
  var file = e.item()
  var stream = file.OpenAsTextStream(1, 0) // ForReading, ASCII
  var source = stream.ReadAll()
  stream.Close()
  results.push&#40;file.Name + '\r\n    ' + &#40;source.match&#40;/<title>&#40;.*?&#41;<\/title>/i&#41; ? RegExp.$1 &#58; 'Δε βρέθηκε τίτλος'&#41;&#41;
&#125;

WScript.Echo&#40;'Τίτλοι αρχείων του φακέλου ' + folder.Name + '\n\n' + results.join&#40;'\n\n'&#41;&#41;
Αντί για popup μπορεί να γίνει γράψιμο σε αρχείο:

Κώδικας: Επιλογή όλων

var stream = fso.OpenTextFile&#40;'results.txt', 2, true, 0&#41; // ForWriting, Create, ASCII
stream.Write&#40;'Τίτλοι αρχείων του φακέλου ' + folder.Name + '\r\n\r\n' + results.join&#40;'\r\n\r\n'&#41;&#41;
stream.Close&#40;&#41;
WScript.Echo&#40;'Ok'&#41;
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
shadow
Script Master
Δημοσιεύσεις: 606
Εγγραφή: 14 Απρ 2005 18:30

open directories, listing contents

Δημοσίευση από shadow » 12 Μαρ 2006 20:03

Thanks a lot :D
Μηπως εχεις και κανα link για filesystem operations με js scripting για να ανοίξω και λίγο τα στραβά μου ?
Close your eyes
For your eyes will only tell the truth and the truth isnt what you want to see
In the dark, is it easy to pretend that the truth is it ought to be.
Programmers are programmers because they like to code


Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

open directories, listing contents

Δημοσίευση από skeftomilos » 13 Μαρ 2006 04:51

Εγχειρίδιο για scripting της Microsoft, αλλά με την υπόδειξη του alkisg θα το έχεις βρει ήδη φαντάζομαι. :)

Για windows utilities έχουν ειπωθεί πολλά κι εδώ: Φτιάξτε μόνοι σας χρήσιμα utilities με JavaScript.
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης