PDA

Vollständige Version anzeigen : Batch auf CD, Stick über link ausführen


WDKA-Jürgen
14.05.2007, 10:30
HAllo zusammen,
ich habe mir eine Batch geschrieben. die auch funktioniert, wenn ich die Batch-Datei per klick starte oder selber ausführe.

md C:\IFS-Daten\schuetzen\daten
md C:\IFS-Daten\schuetzen\PDF
md C:\IFS-Daten\schuetzen\XMComm

Xcopy *.* C:\IFS-Daten\schuetzen
Xcopy Daten\*.* C:\IFS-Daten\schuetzen\daten
Xcopy PDF\*.* C:\IFS-Daten\schuetzen\PDF
Xcopy XMComm\*.* C:\IFS-Daten\schuetzen\XMComm

Xcopy Ver1.3.lnk c:\"Dokumente und Einstellungen"\%username%\desktop\Ver1.3.lnk


Die Batch soll aber von CD oder Sticks gestartet werden können. Daher kann ich keine absoluten Pfadnamen verwenden. Das klappt bisher auch wenn ich die batch direkt starte.

Wenn ich jetzt diese Bat über einen Hyperlink oder irgendwie verlinkt starte, erstellt er mir zwar noch die Verzeichnisse aber er kopiert mir keine Dateien mehr, sondern kopiert mir meine Desktopverknüpfungen in den ordner C:\IFS\Daten\Schuetzen\


weiß jemand rat ?


mfg

Jürgen

WDKA-Jürgen
14.05.2007, 13:30
vielleicht noch ein Nachtrag.

Die HP-Seite mit der ich die Batch verlinkt habe, befindet sich auch auf dem CD-Laufwerk oder Stick im selben Ordner wie die Batch.

mfg

Jürgen

WDKA-Jürgen
15.05.2007, 08:36
Ich habe den Fehler gefunden, bekomme ihn aber nicht behoben.

Ich starte ja aus dem Verzeichnis auf dem Stick /CD eine 1 Seitige Homepage mit Erklärungen des CD / Stickinhaltes.

Das "Arbeitsverzeichnis" meiner HP ist leider mein Desktop c:\dokumente und Einsellungen ......\Desktop

ich müßte es jetzt hinbekommen, den Startordner meiner HP auszulesen ..ihm irgendwie den Focus geben (so heißt das zumindest in Access) und von da aus dann meine bat starten, so das ich die rel PFade benutzen kann.

Ich gebe mich aber im Netz mal weiter ans suchen. ICh verstehe noch nicht so ganz warum man über dieses Problem im Netz so wenig findet bzw nix findet. das müßte doch vielen Usern so gehen .....

Ich sage bescheid wenn ich die Lösung gefunden habe.

mfg

Jürgen

Joachim Hofmann
15.05.2007, 09:45
Ich fasse mein Verstehen zusammen:
- Deine XCOPY-Befehle arbeiten immer mit dem Pfad, in dem die Batch gestartet wird -> "verstanden".
- Der letzte XCOPY-Befehl kopiert eine Verknüpfung, die wiederum im Pfad der Batch liegt, auf deinen Desktop.

Anmerkung nebenbei: Verknüpfungen an einem Ort erstellen und diese kopieren,
klappt IMHO *nicht*. Eine durch Kopieren entstandene Verknüpfung ist nicht
lauffähig.

Frage: Was meinst Du denn mit "Hyperlink", "HP" und "verlinkt"? was hat das mit dem Batch-Code zu tun?

Was brauchst du? "Einfach" den absoluten Pfad der Batch, oder um was geht es Dir genau?

Wenn Du genauer sagst, was Du brauchst, kann ich Dir möglicherweise helfen.

WDKA-Jürgen
15.05.2007, 10:08
hallo Joachim,
sie oben mein Code ......
der klappt wenn ich die bat durch doppelklicken starte ...
wenn ich aber meine Bat-Datei über einen Link öffne ... egal von Word, Access oder einer lokalen webseite usw. klappt der code nicht mehr.

ich hatte das so vor ..... ich lege eine CD ins Laufwerk ... durch eine autoexec.bat wird eine Webseite gestartet, die Informationen über den Inhalt der CD ausgibt. Da habe ich auch Buttons drauf ..... wenn ich jetzt den Button "kopieren" anklicke, soll der mir den CD-Inhalt (den Code oben, die Datei heißt kopieren.bat) auf den jeweiligen Computer nach c:\IFS-Daten\Schuetzen .... kopieren
mehr will ich nicht ....
weiß nicht wie ich es sonst noch ausdrpcken soll .... bin leider kein guter Erklärer .....

mfg

Jürgen

Joachim Hofmann
15.05.2007, 18:03
Wie erzeugst Du den Link / Verknüpfung auf die Batchdatei?

Wenn Du Dir von Hand eine Verknüpfung auf dem Desktop erstellst, z.B. zu einer (deiner) Batchdatei,
gibt es in "Eigenschaften" die Eigenschaft "Ausführen in", das ist der Stammpfad der Batch.

Diese Eigenschaft ist bei Dir offenbar nicht richtig gesetzt, ich weiß bisher
nicht warum, weil ich wie gesagt bisher nicht weiß, wie Du die Verknüpfung
erstellst.

Du müßtest sie möglicherweise zur Laufzeit erstellen, und zwar direkt an dem
Ort, wo die Verknüpfung erscheinen soll.

Wenn deine CD also eine Verknüpfung mit der auf der CD liegenden Batch auf dem Desktop erzeugen soll,
kannst Du direkt neben die Batch ein vbscript ablegen, daß dann aufgerufen werden müßte.

Das tut folgendes Script VerknErz.vbs:

<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet">

Set WSHShell = WScript.<font color="#008080">CreateObject</font>(<font color="#ff00ff">&quot;WScript.Shell&quot;</font>)
DesktopPfad = WSHShell.SpecialFolders(<font color="#ff00ff">&quot;Desktop&quot;</font>)

<span style="background-color: #ffffff"><font color="#008000">' Aktuellen Pfad ermitteln</font></span>
scriptPath = <font color="#008080">Left</font>(WScript.ScriptFullName, _
<font color="#008080">Len</font>(WScript.ScriptFullName) _
- (<font color="#008080">Len</font>(WScript.ScriptName)<font color="#ff00ff">+1</font>) )

Set SDBShortcut = WSHShell.CreateShortcut( DesktopPfad &amp; <font color="#ff00ff">&quot;\MeineVerknuepfung.lnk&quot;</font>)
SDBShortcut.TargetPath = WScript.ScriptFullName &amp; scriptPath &amp; <font color="#ff00ff">&quot;\hallo.bat&quot;</font>
SDBShortcut.WorkingDirectory = scriptPath
SDBShortcut.Save

</div>

WDKA-Jürgen
22.05.2007, 11:13
Hallo Joachim,
erst mal sorry das ich mich jetzt erst melde, aber ich war ein paar Tage weg.
Leider reden wir noch immer an einander vorbei.

Ich versuche es normal zu erklären.
1. Die Batch und alle hier erwähnten Dateien befinden sich auf einer CD.
2. Legt man die CD ins Laufwerk soll sofort ein "Startformular" als html-Datei geöffnet werden mit ausführlichen Informationen über den Inhalt der Daten. Dieses Startformular befindet sich auch auf der CD.
Auf diesem dann geöffneten "Startformular" sind dann auch 3 Schaltflächen.
Beim klicken einer dieser Schaltflächen soll dann die oben erwähnte Bat ausgeführt werden.

Die Fehler :
er kopiert mir zwar noch die Verzeichnisse aber er kopiert mir keine Dateien mehr, sondern kopiert mir meine Desktopverknüpfungen in den ordner C:\IFS\Daten\Schuetzen\

wie gesagt, der Fehler tritt nur auf wenn ich die Bat über das Startformular öffne .. führe ich die bat durch einen doppelklick direkt aus, fiunktioniert alles ...

mfg

Jürgen

Joachim Hofmann
22.05.2007, 14:22
Hallo Jürgen,

Da ich leider nicht weiß, wodurch/warum dein Arbeitsverzeichnis "ausgerechnet" der Desktop ist, kann ich leider nicht weiterhelfen.

WDKA-Jürgen
22.05.2007, 14:28
Hallo Joachim,
ich kann dir gerne mal eine abgespeckte testversion hier hochladen. Dann siehst du mal mit eigenen Augen was da abläuft.
das verstehe ich ja auch nicht warum der mir immer die Daten vom Desktop nimmt. und dann auch nur immer die Verknüpften dateien.
auch wenn ich schon die letzte Zeile (die mit der Verknüpfung) in meiner Bat weglasse, habe ich das gleiche problem.

Aber ich werde dir mal eine Testversion hochladen.

mfg

Jürgen

WDKA-Jürgen
26.05.2007, 10:05
Hallo zusammen,
ich habe mal eine Zip angehängt, in der Die Daten drin sind.

zur Vorgehensweise.
1. den Ordner in einen x-beliebigen ordner kopieren.
2. Wenn ich die Kopieren.bat mit einem Doppelklick ausführe, dann klappt der kopiervorgang.
3. jetzt bitte mal die Start.html starten und die Schaltfläche Schützen mit dem Fehlenden Bild anklicken. Jetzt seht ihr das die Daten falsch kopiert werden. Woran liegt das ????


mfg

Jürgen

_anton_
29.05.2007, 09:30
Hallo Jürgen,

versuch's mal damit:

mfg Anton

WDKA-Jürgen
31.05.2007, 17:02
Hallo Anton,
habe inzwischen einiges getestet.
Gibt es ein Programm für diese Seiten zu erstellen das die Werte 1:1 übernimmt.
Ich habe ein altes NetobjektFusion für HP-Seiten zu machen.
Da bekomme ich den Code nicht so rein wenn ich die Seite publiziert habe.
Es sollen ja doch noch Zusatztext und weitere Buttons rein. Das erstellen bekomme ich hin aber nicht das plazieren auf der Seite.


mfg

Jürgen

ShepMiles
12.10.2007, 01:15
Schon erledigt die Sache?
Wenn nicht...
im Aufruf Deines Batches 2 Parameter übergeben...
Batchname.bat "Laufwerksbuchstabe" "DateiVerzeichnis"

im Batchfile beginnst Du mit ...
"erstmal das Laufwerk anfassen"
%1:
"dann das Verzeichnis öffnen (ist beim Hauptverzeichnis nicht erforderlich)"
cd \%2
"und so wie Du es gemacht hattest weiter"
md c:\.........

Anne Berg
14.10.2007, 10:32
Hallo miteinander,
ich hoffe, ich darf mich mal hier mit reinhängen. ;)

Ich versuche, mit dem Script von Joachim aus Beitrag #6 einen Desktop-Link zu erzeugen, mache aber offensichtlich etwas falsch, da meinem Zielverzeichnis immer noch ein "C:\" vorangestellt wird.

Hier ist mein Code:Set WSHShell = WScript.CreateObject("WScript.Shell")
DesktopPfad = WSHShell.SpecialFolders("Desktop")

Set SDBShortcut = WSHShell.CreateShortcut( DesktopPfad & "\abcUpdt_071014.lnk")
SDBShortcut.TargetPath = """C:\Programme\abc\msaccess.exe"" ""C:\Programme\abc\Update\abcUpdt_071014.mbd""" & " /cmd 07.282"
SDBShortcut.WorkingDirectory = "C:\temp"
SDBShortcut.Save

Ergebnis:"C:\"C:\Programme\abc\msaccess.exe" "C:\Programme\abc\Update\abcUpdt_071014.mbd" \cmd 07.282"Und so ist das natürlich nicht einsetzbar. Ich hoffe auf eure Hilfe.

Nachtrag:
Ich habe noch ein wenig herumprobiert. Mit der folgenden Zeile ist das Ergebnis schon fast richtig, bleibt nur, dass der Schrägstrich vor CMD in einen Backslash umgesetzt wird, was auch immer ich versuche. SDBShortcut.TargetPath = "" & """C:\Programme\abc\msaccess.exe"" ""C:\Programme\abc\Update\abcUpdt_071014.mbd"" ///cmd ""07.287"""Weiß jemand Rat?

Anne Berg
14.10.2007, 14:03
Hallo,

ich habe eine Lösung gefunden, sie sieht folgendermaßen aus:SDBShortcut.TargetPath = "" & """C:\Programme\abc\msaccess.exe"""
SDBShortcut.Arguments = """C:\Programme\abc\Update\abcUpdt_071014.mbd"" /cmd ""07.287"""

WDKA-Jürgen
24.11.2007, 14:01
Hallo zusammen,
Ich habe jetzt eine andere Lösung gewählt, wie ich das kopieren der Daten hinbekommen. Bin einfach nicht in der Lage das mit der batch datei hin zu bekommen
Ich mache das jetzt mit "Winrar". Ich packe die Dateien von meinem Rechner an der originalstelle wo sie hinsollen und kann sie dann über ein selbstentpackendes Archiv wieder an dieses Stelle kopieren. Man kann mit WinRar die Einstellungen so vornehmen, dass der User keine Auswahlmöglichkeit des entpackens hat.

mfg

Jürgen