Archiv Server-Windows 15.877 Themen, 54.317 Beiträge

relative Verknüpfung

Roman7 / 8 Antworten / Baumansicht Nickles

Hallo,
hier also mein Problem: Ich habe einen Ordner namens "main", der einen Ordner namens "data" enthält. Ich will nun in ordner "main" eine Verknüpfung zu einer Datei im Ordner "data" erstellen, was auch problemlos klappt. Nur macht Win eine absolute Verknüpfung, also D:\work\main\data\myfile.exe . Da ich das ganze aber auf eine CD brennen will, stimmt diese angabe ja später nicht mehr. Was muss ich schreiben, um die verknüpfung relativ zu bekommen. Sowas wie "..\data\myfile.exe" wird es wohl sein, ich habs aber nicht hinbekommen.


Danke für eure Mühe und sorry, wenn das eine zu Anfängerhafte frage sein sollte.

Philosoph Roman7 „relative Verknüpfung“
Optionen

Wird etwas schwierig werden, da diese Funktion Windows nicht unterstützt. Wenn du aber etwas Batch bzw. eine Programmiersprache kannst, ist es überhaupt kein Problem ein kleines Programm zu schreiben, dann natürlich mit einem Programmaufruf mit relativer Pfadangabe:
Bei Windows 2000 muß der Befehl für die Batchdatei wie folgt lauten:
\data\myfile.exe

Nun die Batchdatei abspreichern und durch die Windows-Verknüpfung ersetzen. Wenn du willst, schreibe ich dir eine kleine EXE-Datei dafür... :-)

Oder noch eine andere Art und Weise das Problem zu lösen: Du öffnest die Verknüpfung in einem HEX-Editor und änderst eben die absolute Verknüpfung in einen relativen Verweis.

Dürfte alles kein Problem sein, denke ich.

Kannst dich nochmal melden, wenn es fragen gibt. :-)
Mit besten Grüßen und überhaupt,

Thomas A. K.

Roman7 Philosoph „Wird etwas schwierig werden, da diese Funktion Windows nicht unterstützt. Wenn...“
Optionen

Danke erstmal für deine Antwort! Sie hat mir sehr weitergeholfen.
Soweit bin ich gekommen:
Ich habe eine .bat datei angelegt in der steht:

data\main.exe
cls

den ersten backslash musste ich weglassen. (ich arbeite momentan auf win89, und kann erst am montag auf win2k testen.) Ich hoffe das läuft dann auf allen Win-Versionen. Den cls hab ich eingefügt, damit das dos-fensterchen sich automatisch schliesst, scheint zu funktionieren.

Was mich nun noch interessieren würde:
1. Kann ich, und wenn ja wie, aus einer .bat eine funktionierende .exe datei machen?

2. Kannst du mir kurz erklären, wie das mit dem HEX-Editor funktionieren würde? Welches freeware-programm eignet sich, was muss ich beachten. Könnte mir vorstellen, dass ich so zu einer saubereren Lösung gelangen könnte.

Mit freundlichen Grüssen

Roman

Philosoph Roman7 „relative Verknüpfung“
Optionen

Salut!

Hallo Roman.
CLS löscht den Inhalt des Fensters. Mit EXIT dürfte sich das Fenster auch direkt schließen lassen. Nun zu deinen Fragen:

Aus einer .bat Datei kannst du keine selbstlaufende Datei (.exe) erstellen, da eine Batch Datei immer als Runtime die DOS-SHELL bzw. COMMAND.COm als Umgebung braucht. Lässt sich also von DOS nicht trennen und kann somit nicht alleine laufen.

Es gibt aber Programmiersprachen die sich nur sehr gering von der Batchsprache entfernt sind... Etwa QBasic. Mit Power-Basic lässt sich dann mit dem Befehl:
RUN "\data\myfile.exe"
und dann als EXE Datei kompiliert das gleiche Ergebnis erzielen wie mit einer Batchdatei. Vorteil: Die Funktion kann bei Basic als EXE-Datei ausgegeben werden.
(Kleine Anmerkung am Rande: Nun könnte man natürlich auch etwas spielen und den Pfad aus einer INI-Datei auslesen und dann für den Start der Datei übergeben, so könnte man jedes Mal ganz einfach den Pfad ändern, ohne immer die Datei neu zu programmieren... was ja auch nicht soooooo komplex sein wird ;-)) Wenn du willst, schreibe ich dir solch ein kleines Programm, gib mir nur 20 Sekunden Zeit. ;-)

Zu deiner zweiten Frage:
Als HexEditor kann ich dir das Tool auf dieser Seite nur empfehlen.
http://www.winhex.com/winhex/index-d.html

Öffne damit die Verknüpfung und passe alle Pfadangaben (relativ) an. Das dürfte eigentlich funktionieren. Ich hoffe nur, dass Windows das zulässt, werde es heute Abend selbst auch mal testen.

Beste Grüße aus dem einzig warmen Bad Kreuznach :-)

Thomas.

Roman7 Philosoph „Salut! Hallo Roman. CLS löscht den Inhalt des Fensters. Mit EXIT dürfte sich...“
Optionen

Hallo ich bins wieder.

Das mit dem HEX-Editor hab ich angeschaut, aber das war dann doch zu unübersichtlich in der Verknüpfung, als dass ich die Pfade entsprechend ändern konnte. War aber durchaus mal interessant zu sehen was da so alles in einer verknüpfung drinsteht.

Dann hab ich mit qbasic71 eine .exe kompiliert, die:

RUN "data/main.exe"
CLS
EXIT

ausführt. Das würde klappen, aber er gibt aus:
This program cannot be run in DOS mode.

Wenn du das besser hinkriegst darfst du mir gerne ein exe mailen.
Der pfad sollte sein "data/main.exe". Aber eigentlich würde ich es lieber selbst hinkriegen ;)

Mit besten Grüssen

Roman

Philosoph Roman7 „Hallo ich bins wieder. Das mit dem HEX-Editor hab ich angeschaut, aber das war...“
Optionen

Hallo Roman,

klar kann ich dir das machen. Aber eine Frage noch: Hast du versucht die Datei im DOS-Modus zu starten? Diese Exe-Datei funktioniert nur unter Windows. Oder du versuchst eine nicht Win98 bzw. Win2000 lauffähige Datei unter diesen System zu starten.
Es kann auch daran liegen, daß EXIT auf die DOS-SHELL zurück greifen wollen. Schau mal in der Hilfe von Basic nach, müßte eigentlich END heißen.
(http://www.o-bizz.de/qbtuts/qbin12h/, dürfte interessant für dich sein)

RUN "data/main.exe"
(cls)
END

Nun, wie ist deine email, dann schicke ich dir mein kleines "Programm"... :-)

Roman7 Philosoph „Hallo Roman, klar kann ich dir das machen. Aber eine Frage noch: Hast du...“
Optionen

Also, ich bin glaub wirklich zu blöd um das selber hinzukriegen.
Das qbasic läuft bei mir unter dos, und das exe versucht dann wohl auch, das main.exe in der dos umgebung aufzumachen, kann ja nicht gehen. Aber woher krieg ich das powerbasic für windows? Ich hab auf der seite nachgeschaut, aber in der fülle der downloads total den überblick verloren. Gibts denn nicht einen gaaaaaanz einfachen (und natürlich kostenlosen) compiler der mir ein windows exe machen kann?

Meine email ist übrigens:
raketenabgastestuntersucher@yahoo.com

(irgendwie waren alle brauchbaren namen schon besetzt... ;)
Wenn du willst kannst du mir dort auch deine email schreiben, dann sende ich dir meine "normale" adresse und wir können per email weiterdiskutieren. Wäre etwas effizienter, aber andererseits kann dann niemand mehr mitlesen.

Also. Ich wäre echt froh, wenn du mir so ein exe erstellen könntest, da ich es am montag haben sollte. Aber andererseits möchte ich das irgendwie für die nächsten male begreifen. Und das powerbasic interessiert mich schon.

UselessUser Roman7 „Also, ich bin glaub wirklich zu blöd um das selber hinzukriegen. Das qbasic...“
Optionen

Hallo Roman,

nur noch einmal nachgefragt, hast du hier schon geschaut?

http://www.nickles.de/thread_cache/537476562.html

MfG

UselessUser

Philosoph Roman7 „Hallo ich bins wieder. Das mit dem HEX-Editor hab ich angeschaut, aber das war...“
Optionen

http://www.powerbasic.com/
Hier gibt es eine Freeware Version von PowerBasic, die darin programmierten Files sollten auch weniger Probleme mit neuen Systemen machen.