ordnerinhalte auslesen
Pedda
- javascript
Hallo zusammen !
... und bevör das Genörgel losgeht :
"ja" ich weiss, dass javascript clientseitig läuft - ich befinde mich ja auch auf einem client
"nein" ein php-server ist auf diesem client NICHT installiert (dann würd ich nicht fragen *g*)
Und jetzt zu dem Problem :
Mit
var verzeich = window.location.href;
var letzt = verzeich.lastIndexOf("/");
verzeich = verzeich.substring(0, letzt);
bekomme ich den pfad heraus, in dem sich mein script befindet und mit "window.open(verzeich, 'display', 'scrollbars=1')" kann ich mir den Inhalt dieses Ordners auch wunderbar anzeigen lassen...
Ich müsste allerdings irgendwie herausbekommen wieviele .txt dateien sich in dem ordner befinden !?
Kann mir jemand sagen, wie ich da mit meinem Ansatz weitermachen müsste ? Oder kennt jemand eine andere Lösung ?
Thnx
Gruss
Pedda
Mit
var verzeich = window.location.href;
var letzt = verzeich.lastIndexOf("/");
verzeich = verzeich.substring(0, letzt);
bekomme ich den pfad heraus, in dem sich mein script befindet und mit "window.open(verzeich, 'display', 'scrollbars=1')" kann ich mir den Inhalt dieses Ordners auch wunderbar anzeigen lassen...
Nein, es wird nicht der Inhalt des Ordners angezeigt. Entweder, wenn du von einem Server sprichst, hast du eine vom Server generierte Seite, die je nach Konfiguration eine HTML Seite mit Dateien die in dem genannten Verzeichniss liegen anzeigt oder eine Fehlerseite.
Wenn du vom Dateisystem sprichst, dann bekommst du irgendwas, je nach Browser, angezeigt.
Ich müsste allerdings irgendwie herausbekommen wieviele .txt dateien sich in dem ordner befinden !?
Kann mir jemand sagen, wie ich da mit meinem Ansatz weitermachen müsste ? Oder kennt jemand eine andere Lösung ?
Wenn du von einem Server sprichst und du eine entsprechende HTML Seite dir ausgibst, kannst du versuchen mit Hilfe von Frames den HTML code zu lesen und die entsprechenden Information auszulesen, das geht aber nur, wenn das JS auch vom gleichen Server kommt, ansonsten gibt es keine Möglichkeit.
Struppi.
Hoi Struppi
Nein, es wird nicht der Inhalt des Ordners angezeigt.
doch - probiers aus ;)
in FireFox UND IE
Wenn du vom Dateisystem sprichst, dann bekommst du irgendwas, je nach Browser, angezeigt.
ja - den inhalt des "ermittelten" ordners *g*
Es muss doch irgendwie möglich sein herauszufinden, wieviele der angezeigten Dateien die Endung "txt" habben !?
Gruss
Pedda
Nein, es wird nicht der Inhalt des Ordners angezeigt.
doch - probiers aus ;)
http://javascript.jstruebig.de/test/
Wenn du vom Dateisystem sprichst, dann bekommst du irgendwas, je nach Browser, angezeigt.
ja - den inhalt des "ermittelten" ordners *g*
Nein, schau dir den Quelltext mal an. Im FF sind irgendwelche Daten die er generiert und im IE siehst du den Filexplorer, d.h. du hast gar keinen Quelltext mehr.
Es ist nicht immer alles so wie es scheint.
Es muss doch irgendwie möglich sein herauszufinden, wieviele der angezeigten Dateien die Endung "txt" habben !?
Warum sollte das möglich sein?
Der Browser dient in erster Linie zum betrachten von HTML Seiten und hat keinen Zugriff auf das Dateisystem.
Struppi.
Hoi Struppi
Jahaaaa.... aaaaaaber wenn du dich nicht auf nem server befindest, sondern das script lokal an deinem rechner ausführst funzt das...
Nein, schau dir den Quelltext mal an. Im FF sind irgendwelche Daten die er generiert und im IE siehst du den Filexplorer, d.h. du hast gar keinen Quelltext mehr.
Es ist nicht immer alles so wie es scheint.
Im Quelltext (bei FF und IE) stehen auch schön brav irgendwo versteck "datei1.txt" und "datei2.txt"...
Warum sollte das möglich sein?
weil ich das will *gg*
Der Browser dient in erster Linie zum betrachten von HTML Seiten und hat keinen Zugriff auf das Dateisystem.
Kannst du mir verraten, wie ich den quelltext parsen kann ?
Dann würd ich einfach die Anzahl der "txt" aus dem Quelltext nehmen - und hätte mein gewünschtes Ergebnis *g*
Gruss
Pedda
Uuups !!
Im Quelltext (bei FF und IE) stehen auch schön brav irgendwo versteck "datei1.txt" und "datei2.txt"...
Jetzt war ich zu lang im FF unterwegs...
Hast Recht !
im IE zeigt er den Fileexplorer an - da is nix mit Quellcode :(
Naja, nehm ich halt nur den FF
(zur Info: das script wäre nur für mich - also kann ich den Browser auch "vorgeben" *g)
Gruss
Pedda
Im Quelltext (bei FF und IE) stehen auch schön brav irgendwo versteck "datei1.txt" und "datei2.txt"...
Jetzt war ich zu lang im FF unterwegs...
Hast Recht !
im IE zeigt er den Fileexplorer an - da is nix mit Quellcode :(
Naja, nehm ich halt nur den FF
und was da im Quellcode zu finden ist deutet auch nicht auf HTML hin.
(zur Info: das script wäre nur für mich - also kann ich den Browser auch "vorgeben" *g)
Das spielt keine Rolle, dem Browser muss der Zugriff auf lokale Elemente verboten oder zumindest stark eingeschränkt werden, weil der Browser zum surfen gedacht ist, da spielt es keine Rolle was du willst.
Den einzigen Weg den ich mir vorstellen kann, ist mit einem ActiveX Control, aber dafür reichen meine Kenntnisse nicht.
Struppi.
Hallo
Wenns nur für dich ist, dann würde ich da eine .hta Datei draus machen, damit hast du dann Zugriff auf alles was du willst.
gruss
hi,
Ich müsste allerdings irgendwie herausbekommen wieviele .txt dateien sich in dem ordner befinden !?
Kann mir jemand sagen, wie ich da mit meinem Ansatz weitermachen müsste ? Oder kennt jemand eine andere Lösung ?
var anzahl = window.prompt("Bitte zählen Sie die Dateien mit der Endung .txt, und geben Sie deren Anzahl hier ein");
gruß,
wahsaga
hi,
DEPP !
Wenn ich mich verarschen lassen will frag ich meine Tochter... die hat das seit n paar Jahren besser drauf !
Hallo Pedda,
ich habe das gerade mal im FF ausprobiert: einfach c:\winnt in die Adresszeile eingeben und danach den Quelltext mit javascript:alert(document.body.innerHTML) anzeigen.
Die Verknüpfung zwischen Script und "Index-Seite" müsste evtl. über Frames zu realisieren sein. Das "innerHTML" musst Du dann mit den String-Funktionen analysieren.
Gruß, Jürgen
Hallo,
mit HTA und/oder ActiveX ginge es. Dann allerdings nur mit IE. Falls noch Interesse besteht, ich könnte mich heute Abend drum kümmern und ne Lösung vorschlagen.
Gruss Robert
Hallo,
so funzt es bei mir:
<script>
FSO = new ActiveXObject("Scripting.FileSystemObject") // MS FileSystemObject
LPA = window.location.href // make LPA local path
LPA = LPA.substr(0,LPA.lastIndexOf('/') + 1)
LPA = LPA.replace(/file:////,'')
LPA = unescape(LPA)
FOL = FSO.GetFolder(LPA) // oder Klartext zB 'C:/BMC'
document.write(
FOL + ' enthält<br>'
+ FOL.Files.Count + ' Dateien und<br>'
+ FOL.Subfolders.Count + ' Verzeichnisse<br>')
ct = 0
LOOP = new Enumerator(FOL.Files)
for(;!LOOP.atEnd(); LOOP.moveNext()){
x = LOOP.item().Name.toLowerCase();
if(x.substr(x.length-4) != '.txt') continue
ct++
document.write(ct + ' ' + x + '<br>')
}
</script>