Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

dateidownload - standardzielverzeichnis festlegen





Frage

Wenn ich eine Datei downloade, dann öffnet sich ja eine kleine message box, die mich fragt, ob ich die datei öffnen oder speichern möchte. Klicke ich auf speichern öffnet sich mein lokales explorer fenster und ich kann mir dann mir dann das laufwerk und den ordner raussuchen, wo die datei hingespeichert werden soll. Jetzt mein Problem: Besteht die Möglichkeit mit Javascript (oder andere Sprache bereits ein Standardspeichert für die Datei festzulegen (Laufwerk + Ordner), womit das explorer fenster beim dateidownload geöffnet wird? danke für eure hilfe

Antwort 1 von Solo

Hi, ob es möglich ist, weiss ich nicht, aber wenn du dazu ein JavaScript verwendest, dann schliesst du die jenigen aus, die es deaktiviert haben. Wo liegt dann der Nutzen?

Antwort 2 von achim_13086

Hallo Cole,

ist einmal beim Download ein Verzeichnis ausgewählt worden, wird es beim nächsten Download automatisch vorgeschlagen.

Wofür dann ein JavaScript?.

Gruß
Joachim

Antwort 3 von Cole

@solo
Ich würde dies in eine Intranet-Anwendung integrieren wollen, d. h. die Nutzer sind überschaubar und haben auch nicht die Möglichkeit Einstellung vorzunehmen.

@Joachim
Ich kenn diese Funktion und dies wollte ich mir zu Nutze machen, denn wenn sich der Browser oder Rechner dies merkt muss es ja die Möglichkeit geben ihm dies auch mit einem Script fest mitzugeben, da ich ja nicht weiß wo der Nutzer seinen letzten Download hingespeichert hat.

Danke für eure schnellen posts

Antwort 4 von qqq

Um welchen Browser gehts denn überhaupt?

Antwort 5 von Supermax

Du könntest eventuell probieren, über JavaScript ein WSH-Objekt zu erstellen und damit z.B. die Registry zu manipulieren; dazu muß der Client allerdings den Windows Scripting Host installiert und auch aktiviert haben.

Antwort 6 von Supermax

Referenz:

http://www.winguides.com/scripting/reference.php?category=3

Die Methoden für den Zugriff auf die Registry sind in WScript.Shell vorhanden.

Antwort 7 von rfb

Zitat:
über JavaScript ein WSH-Objekt
funktioniert nicht, da JavaScript derartiges aus gutem Grund nicht unterstützt. Was du meinst ist VBScript, das funktioniert aber ausschließlich im IE.

Antwort 8 von Cole

klingt erstmal interessant um es mal zu testen (zwar bisschen heiss wegen registry)

der browser ist ein ie

hätte denn jemand von euch ein code-beispiel parat bin einsteiger @supermax, rfb

würde es auch ohne registry eintrag funktionieren?

kann mir nicht vorstellen, dass ständig die registryeinträge verändert werden, wenn ich meine downloads jeweils in verschiedene laufwerke bzw. ordner speichere

Antwort 9 von qqq

Zitat:
kann mir nicht vorstellen, dass ständig die registryeinträge verändert werden, wenn ich meine downloads jeweils in verschiedene laufwerke bzw. ordner speichere

Möglich wärs schon. Ich habe eher Schwierigkeiten mir vorzustellen, dass er vor jedem "Speichern unter"-Dialog in der Registry oder an einem anderen Ort nachschaut, ob der diesbezügliche Wert von "jemand anderem" verändert wurde. Aber das muss man wohl alles ausprobieren.

Antwort 10 von qqq

Antwort 11 von Cole

danke für den link

habe das tool gerade runtergeladen

vielleicht hat ja jemand noch ne idee?

Antwort 12 von Supermax

Das Downloadverzeichnis des IE wird im Schlüssel

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer

unter

"Download Directory"

gespeichert.

Antwort 13 von qqq

Zitat:
Das Downloadverzeichnis des IE wird im Schlüssel

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer

unter

"Download Directory"

gespeichert.

Dann müsste ein Javascript (eigentlich JScript) zum Editieren so aussehen:

<html>
<script language="javascript">
var shell=WScript.CreateObject("WScript.Shell");
shell.RegWrite(
"HKCU\\Software\\Microsoft\\Internet Explorer\\Download Directory",
"c:\\downloads","REG_SZ");
</script>
</html>

Ich habe es nicht getestet, weil ich meine Sicherheitseinstellungen nicht verändern wollte. Wahrscheinlich musst Du bei allen ActiveX-Einstellungen ganz "runter" gehen. Dürfte aber kein Prob sein, da ja Intranetzone. Denkbar wäre allerdings, dass es nach der Sicherheitsoffensive von Microsoft (SP2) vielleicht gar nicht mehr geht, oder nur noch mit Sicherheitsabfrage an den User. Keine Ahnung.
Eine Alternative für die Rechtepoblematik könnte der Einsatz von HTA sein. Das ist wie eine HTML-Datei, die aber, nach Einverständnis des Users, alle Rechte eine lokal ausgeführten Anwendung bekommt.
Falls der IE das Update der Registry ignorieren sollte, könnte man es noch mit einem Schreiben und Ausführen einer "REG"-Datei probieren. Dabei wird dann noch eine Art Refreshsignal gesendet.

Eigentlich müsste im Script-Tag language="jscript" stehen. Der IE macht da aber keine Unterschiede. Vorteil: Man kann Javscript- und JScript-Funktionen in einem Skript mischen.
Achte darauf, dass Backslashes in Pfadangaben innerhalb von JScript gedoppelt werden müssen!

Wenn Dir das zu blöd ist, geht das auch in VBS:

<html>
<script language="vbscript">
set shell=createobject("wscript.shell")
key="HKCU\Software\Microsoft\Internet Explorer\Download Directory"
shell.regwrite key,"c:\downloads","REG_SZ"
</script>
</html>


Antwort 14 von Cole

ok habe ich gefunden

hättst du eventuell noch ein script mit dem ich den eintrag so setzen kann wie ich es will

wenn möglich mit javascript

was anderes ist auch ok

danke

Antwort 15 von Cole

ok hat sich schon erledigt hatte den vorschlag von qqq noch nicht gesehen

ihr seid spitze!!!

Antwort 16 von Cole

das vb-script funktioniert einwandfrei,

besteht jetzt noch die Möglichkeit,

bei einem Dateidownload, es so einzustellen,

dass der Browser nicht erst eine Messagebox

aufpoppt, die mich fragt, ob ich die Datei öffnen oder

speichern möchte, sondern, dass die Datei sofort an

den von mir vorgegebenen Ort gespeichert wird?