46591
Goto Top

Mehrfache Installation

Wie könnte man das lösen

Hallo.

Ich versuche folgende Schritte in EINE Batch-Datei zu bekommen, finde aber keine Lösung.

Vielleicht kann mir ja einer von Euch helfen?

1. Schritt:
Ziehe von http://home.foni.net/~pcp-sh/tool/setup1.exe

2. Schritt:
Die gerade gezogene setup1.exe ausführen

3. Schritt:
Bei dem gerade durchgeführten Setup wurde eine Datei mit dem Namen garten2007.exe mit auf die Festplatte gepackt. Der Batch soll genau diese finden und in das Verzeichnis springen.

4. Schritt:
Da wo der Batch sich befindet, sind noch 3 Dateien (meine1.txt, meine2.txt und setup2.exe)

Der Batch soll diese drei Dateien dahin kopieren, wo auch die garten2007.exe ist

5. Schritt:
Die gerade kopierte Datei garten2007.exe soll gestartet werden.


So, ich frage mich wie man das alles in nur eine Batch-Datei bekommen soll oder wie man dafür sonst eine Lösung finden kann.

Wäre jeden Dankbar, der mir da eine gute Lösung bieten kann.

Habe von dem ganze nicht wirklich viel Ahnung, da ich blutiger anfänger bin.

Es grüßt aus dem Norden,

Kif.

Content-Key: 56280

Url: https://administrator.de/contentid/56280

Printed on: April 16, 2024 at 11:04 o'clock

Member: Dynadrate
Dynadrate Apr 10, 2007 at 18:35:40 (UTC)
Goto Top
Ein paar Rückfragen:


Ist es möglich, die Datei auf einem Rechner frei zu geben? Dann wüsste ich wie....
2. Schritt:
Die gerade gezogene setup1.exe
ausführen
(Könnte man zusammen mit Schritt 1 machen)

3. Schritt:
Bei dem gerade durchgeführten Setup
wurde eine Datei mit dem Namen garten2007.exe
mit auf die Festplatte gepackt. Der Batch
soll genau diese finden und in das
Verzeichnis springen.

Wo wird diese Datei abgelegt? In welchem Pfad? Sonst wüsste ich an dieser Stelle nicht weiter...

4. Schritt:
Da wo der Batch sich befindet, sind noch 3
Dateien (meine1.txt, meine2.txt und
setup2.exe)

Der Batch soll diese drei Dateien dahin
kopieren, wo auch die garten2007.exe ist

(Ginge, wenn man wüsste wo sich die exe befindet)

5. Schritt:
Die gerade kopierte Datei garten2007.exe
soll gestartet werden.
(Wäre dann auch kein Problem)
Mitglied: 46591
46591 Apr 10, 2007 at 19:07:06 (UTC)
Goto Top
Zu 1: Die datei kann frei gezogen werden. Liegt nur noch nicht auf dem Webserver.


zu 3: Das ist ja das Problem, das kann überall auf der Festplatte (Laufwerk C) sein. Gibt es nicht irgend etwas wie : finde garten2007.exe ?


Ich bin echt am verzweifeln, denn wir wollen ein Hilfprojekt machen, wo jeder das Ding installieren kann, nur jeder legt das erste Setup da an wo er es haben möchte und nennt die Ordner ja wie er es möchte.

Ich bin gespannt was sich da machen läßt?

Gruß und ich schaue später wieder rein.
Member: Dynadrate
Dynadrate Apr 10, 2007 at 19:13:34 (UTC)
Goto Top
Mithilfe der Datei Download.Exe von http://www.sql-und-xml.de/freeware-tools/index.html könnte man die Datei herunterladen.
Es gibt tatsächlich etwas zum finden: dir /S. Momentan hab ich jedoch noch eine Fehler im der Batch den ich nicht finde...wenn ich was hab, melde ich mich.

Edit: Sorry, nicht find sonder dir /S
Mitglied: 46591
46591 Apr 10, 2007 at 19:30:13 (UTC)
Goto Top
okay, dann bin ich ja mal gespannt.

gruß kif
Member: Dynadrate
Dynadrate Apr 10, 2007 at 19:51:06 (UTC)
Goto Top
Ich bin echt am verzweifeln, denn wir wollen
ein Hilfprojekt machen, wo jeder das Ding
installieren kann,

Heißt das, das sich die gesuchte Datei auch mehrfach auf einem System befinden kann?
Member: Dynadrate
Dynadrate Apr 10, 2007 at 20:14:15 (UTC)
Goto Top
Ich schreib mal wie weit ich gekommen bin:
- mithilfe der Download.exe von http://www.sql-und-xml.de/freeware-tools/index.html die Datei runterladen
- Diese Datei ausführen
Dateisuche:
Dieser Code (bat) würde alle Pfade der garten2007.exe in eine Textdatei schreiben. Wenn man sie nun nur in eine Variable schreibt wird auch nur die erste Zeile eingelesen. Wenn also vorkommen kann, das die Datei mehrfach vorhanden ist müsste man hier mit einer Schleife arbeiten.

CD /D C:
DIR garten2007.exe /S /B > %TEMP%\found.txt
SET /P FOUND= < %TEMP%\found.txt
ECHO %FOUND%
Mitglied: 46591
46591 Apr 10, 2007 at 20:41:12 (UTC)
Goto Top

> Ich bin echt am verzweifeln, denn wir
wollen
> ein Hilfprojekt machen, wo jeder das
Ding
> installieren kann,

Heißt das, das sich die gesuchte Datei
auch mehrfach auf einem System befinden
kann?




NEEE, die gibt es nru einmal !!!!
Member: Dynadrate
Dynadrate Apr 10, 2007 at 20:44:54 (UTC)
Goto Top
Dann hast du ja schon alles was du brauchst.
je nachdem, ob du nach der Datei auf mehreren Laufwerken suchen möchtest musst du den Prozess dann entsprechend wiederholen.
Exe-Dateien aufrufen kannst du in einer bat Datei indem du den kompletten Pfad angibst.
Dateien kopieren kannst du mit dem Konsolenbefehl copy bzw. xcopy.
Viel Spass!
Mitglied: 46591
46591 Apr 10, 2007 at 20:45:58 (UTC)
Goto Top
Ich schreib mal wie weit ich gekommen bin:
- mithilfe der Download.exe von
http://www.sql-und-xml.de/freeware-tools/index.html
die Datei runterladen
- Diese Datei ausführen
Dateisuche:
Dieser Code (bat) würde alle Pfade der
garten2007.exe in eine Textdatei schreiben.
Wenn man sie nun nur in eine Variable
schreibt wird auch nur die erste Zeile
eingelesen. Wenn also vorkommen kann, das die
Datei mehrfach vorhanden ist müsste man
hier mit einer Schleife arbeiten.

CD /D C:
DIR garten2007.exe /S /B >
%TEMP%\found.txt
SET /P FOUND= < %TEMP%\found.txt
ECHO %FOUND%



Bedeutet, das der ganz batch dann wie folgt aussieht?

Oder nicht?


download.exe http://home.foni.net/~pcp-sh/tool/setup1.exe
setup1.exe
CD /D C:
DIR garten2007.exe /S /B > %TEMP%\found.txt
SET /P FOUND= < %TEMP%\found.txt
ECHO %FOUND%


Und dann geht es wie weiter? Sorry, aber da bin ich blind, möchte das aber auch verstehen, deshalb lese ich ja auch alles noch nmal nach !!!

Danke, warte wie es weietr geht.

Kif
Mitglied: 46591
46591 Apr 10, 2007 at 20:49:18 (UTC)
Goto Top
Aber wie springe ich nach dem

ECHO %FOUND%

in das Verzeichnis wo die egfundene Datei ist?
Member: miniversum
miniversum Apr 10, 2007 at 21:01:45 (UTC)
Goto Top
Ich nutze dazu ein tool namens wget (bekannt aus Unix, gibts aber auch für Windows). Optionen dazu mußt du nachschauen und entsprechend anhängen. Hängt von Dir ab.

@echo off

::Schritt 1
wget http://home.foni.net/~pcp-sh/tool/setup1.exe

::Schritt 2
Setup1.exe

::Schritt 3a
for /F "delims=" %%A in ('dir /s /b C:\garten2007.exe') do set dest="%%~dpA"  

::Schritt 4
copy meine1.txt %dest%\meine1.txt
copy meine2.txt %dest%\meine2.txt
copy setup2.exe %dest%\setup2.exe

::Schritt 3b
pushd %dest%

::Schritt 5
garten2007.exe

Ist aber nur ein Entwurf.

hope that helps

miniversum
Member: bastla
bastla Apr 10, 2007 at 21:14:30 (UTC)
Goto Top
@miniversum

Hätte ich ähnlich gemacht. Ev sollte man mit einer zusätzlichen Schleife über die Laufwerke und einer Kontrolle, ob die Datei gefunden wurde, noch mehr Möglichkeiten abdecken, und zur Sicherheit auch den Batchpfad beim Kopieren berücksichtigen, etwa:
::Schritte 3a - 4
set dest=
for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
	if exist %%i: for /f "delims=" %%A in ('dir /s /b %%i:\Garten2007.exe ^>nul ^2^>nul') do set "dest=%%~dpA"  
)
if not defined dest goto :NichtDa
pushd %dest%
echo copy %~dp0meine1.txt >nul || goto :KopierFehler
echo copy %~dp0meine2.txt >nul || goto :KopierFehler
echo copy %~dp0setup2.exe >nul || goto :KopierFehler
...

Grüße
bastla

[Edit] Schritte 3b und 4 ergänzt [/Edit]
Mitglied: 46591
46591 Apr 10, 2007 at 21:24:01 (UTC)
Goto Top
MINIVERSUM ???

Betr.: for /F "delims=" %%A in ('dir /s /b C:\garten2007.exe') do set dest="%%~dpA"

Findet er durch diesen Bereich die gesuchte garten2007.exe, egal wo (in welchen Ordner) er ist? Denn die Datei ist nicht im Hauptverzeichnis, sondern irgendwo auf der Festplatte.


Gruß Kif

P.S. Ich bin halt echt dunkelblond face-wink
Mitglied: 46591
46591 Apr 10, 2007 at 23:22:06 (UTC)
Goto Top
Danke für diese Lösungen.

Beide zusammen haben mich zum Erfolg gebracht. Ich bin Euch wirklich herzlich dankbar !!!

Danke nochmals !!!

Gruss Kif
Member: miniversum
miniversum Apr 11, 2007 at 11:57:26 (UTC)
Goto Top
Ja, fast.
der Befehl
dir /s /b C:\garten2007.exe
listet dir alle gefundenen "garten2007.exe" in allen Unterverzeichnissen von C auf.
Durch das
set dest="%%~dpA"
am Ende der For Schleife wird dann aber NUR das Verzeichnis in der Variabeln dest gespeichert.
Würde es die Datei "garten2007.exe" mehrmals geben würde nur die Letzte gefundene in der Liste benutzt. Wenn allerdings sichergestellt ist das sie nur einmal existiert ist das Problem beseitigt. Kannst du einschränken das die datei "garten2007.exe" nur im Programm Verzeichnis liegt könntest du sogar die Suche eingrenzen indem du die Anweisung auf
dir /s /b C:\Programme\garten2007.exe
abänderst, bzw. wenn es etwas universeller sein soll auf
dir /s /b %programfiles%\garten2007.exe

miniversum
Member: miniversum
miniversum Apr 11, 2007 at 12:02:25 (UTC)
Goto Top
Ja oder man grenzt es, wenn man Sicher sein kann eher ein und beschrängt sich auf ein
for /f "delims=" %%A in ('dir /s /b %programfiles%\Garten2007.exe ^>nul ^2^>nul') do set "dest=%%~dpA"
Das würde die Suche schneller gestalten.

Den Schritt 3b könnte man sich denke ich auch einsparen wenn man beim Schritt 5 die garten2007.exe mit start und dem Arbeitsverziechnis aufrufen würde.

miniversum