Mit einer Batch eine Batch erstellen, die wiederum

Hi,

ich möchte eine Batch erstellen, die als eine Art installer arbeitet.

hier mal ein kleiner auszug:

echo echo >sleep.vbs wscript.sleep 3600000 >>Datensicherung.bat
echo cscript sleep.vbs>nul>> Datensicherung.bat
echo del sleep.vbs>> Datensicherung.bat

echo Goto _los>> Datensicherung.bat

nun hab ich das Problem, das es mir oben bei: echo echo >sleep.vbs wscript.sleep 3600000 >>Datensicherung.bat die >sleep.vbs nicht mit übernimmt.

das soll heißen, in der Datensicherung.bat steht nur noch:

echo wscript.sleep 3600000
cscript sleep.vbs
del sleep.vbs
Goto _los

die erstellung der sleep.vbs fehlt mir

Mfg und Danke schonma für eure hilfe.

(Sorry wenn ich nen bisschen kompliziert geschrieben hab)

hast du mal versucht, den Text, den du in die Datei schreiben willst, in Anführungszeichen „“ zu setzen?

jup, dann stehts in der 2. Batch in anführungszeichen und kann somit nicht ausgeführt werden.

leider :frowning:

danke trotzdem

ansonsten hast du noch die Möglichkeit die Sachen einzeln reinzuschreiben mit ‚echo.‘ (damit kein Zeilenvorschub eingefügt wird)
das > musst du dann wahrscheinlich irgendwie kodieren

Hallo.

nun hab ich das Problem, das es mir oben bei: echo echo
>sleep.vbs wscript.sleep 3600000 >>Datensicherung.bat die
>sleep.vbs nicht mit übernimmt.

Du musst vermutlich das >-Zeichen escapen. Normalerweise müsste das mit ^ gehen, also sollte die Zeile dann so aussehen:

echo echo ^\>sleep.vbs wscript.sleep 3600000 \>\>Datensicherung.bat

Sebastian.

sorry das ich mich so lange nicht gemeldet hab, leider war ich beruflich außer haus.

das mit dem escapen per ^ funktioniert super, nur hab ich jetzt das problem, das ich mit der erstelten batch ne neue batch erstellen will (in dieser sollen variable werte sein %bla%)

so isses in der 1. batch:

echo echo ^>Countdown.bat @echo off >>Datensicherung.bat
echo echo cls ^>^>^Countdown.bat >>Datensicherung.bat
echo echo mode con: ^ ^Lines=3^>^>^Countdown.bat >>Datensicherung.bat
echo echo Color 9f ^>^>^Countdown.bat >>Datensicherung.bat
echo echo TITLE COUNTDOWN ^>^>^Countdown.bat >>Datensicherung.bat
echo echo COLOR 1E ^>^>^Countdown.bat >>Datensicherung.bat
echo echo set /a cwn= 10 ^>^>^Countdown.bat >>Datensicherung.bat
echo echo :99 ^>^>^Countdown.bat >>Datensicherung.bat
echo echo set /a cwn= %%%cwn%%% -1 ^>^>^Countdown.bat >>Datensicherung.bat
echo echo if „%%%cwn%%%“=="-1" goto _start ^>^>^Countdown.bat >>Datensicherung.bat

echo echo ping ^-n ^2 ^127^.^0^.^0^.^1^>nul^>^>^Countdown.bat >>Datensicherung.bat

echo echo cls ^>^>^Countdown.bat >>Datensicherung.bat
echo echo echo. ^>^>^Countdown.bat >>Datensicherung.bat
echo echo echo erneute Sicherung in %%%cwn%%%% sek ^>^>^Countdown.bat >>Datensicherung.bat
echo echo ECHO. ^>^>^Countdown.bat >>Datensicherung.bat
echo echo goto 99 ^>^>^Countdown.bat >>Datensicherung.bat
echo echo _start ^>^>^Countdown.bat >>Datensicherung.bat
echo echo exit ^>^>^Countdown.bat >>Datensicherung.bat
echo start Countdown.bat >>Datensicherung.bat

raus kommt in der 2. batch:

echo >Countdown.bat @echo off
echo cls >>Countdown.bat
echo mode con: Lines=3>>Countdown.bat
echo Color 9f >>Countdown.bat
echo TITLE COUNTDOWN >>Countdown.bat
echo COLOR 1E >>Countdown.bat
echo set /a cwn= 10 >>Countdown.bat
echo :99 >>Countdown.bat
echo set /a cwn= %% -1 >>Countdown.bat
echo if „%%“=="-1" goto _start >>Countdown.bat
echo ping -n 2 127.0.0.1>nul>>Countdown.bat
echo cls >>Countdown.bat
echo echo. >>Countdown.bat
echo echo erneute Sicherung in %% sek >>Countdown.bat
echo ECHO. >>Countdown.bat
echo goto 99 >>Countdown.bat
echo _start >>Countdown.bat
echo exit >>Countdown.bat
start Countdown.bat

und das ist dann in der 3. batch übrig:

@echo off
cls
Color 9f
TITLE COUNTDOWN
COLOR 1E
set /a cwn= 10

99

set /a cwn= % -1
if „%“=="-1" goto _start
ping -n 2 127.0.0.1
cls
echo.
echo erneute Sicherung in % sek
ECHO.
goto 99
_start
exit

da hörts dann glaube auf mit dem escapen, zumindest habe ich es schon probiert.

Danke schonmals und ich hoffe es ist ein wenig zu verstehen was ich machen möchte.

Hallo.

das mit dem escapen per ^ funktioniert super,

Sehr schön.

nur hab ich
jetzt das problem, das ich mit der erstelten batch ne neue
batch erstellen will (in dieser sollen variable werte sein
%bla%)

[…]

da hörts dann glaube auf mit dem escapen, zumindest habe ich
es schon probiert.

Ehrlich gesagt blicke ich durch deinen Code nicht ganz durch. Habe aber auch nur einen kurzen Blick drauf geworfen.
Aber vielleicht gibt es einen anderen Weg zum Ziel. Wofür willst du denn eine Batch schreiben, die eine Batch erstellt, die eine andere Batch erstellt. Also was ist das eigentliche Ziel? Eventuell kommt man ja mit einer oder 2 Batch-Files schon aus.

Sebastian.

Hi,

der Grundgedanke ist ein tool für ne Datenbanksicherung zu schreiben.

erste batch ist quasi die Installationsdatei (da es bei uns Leute gibt die keine Ahnung von rechnern haben.

zweite batch ist dann die Datenbanksicherung an sich

3 batch ist nicht zwingend notwendig, aber im hintergrund soll die Sicherung weiter laufen und per Countdown die übrige Zeit bis zur nächsten Sicherung anzeigen.

leider kann ich keinerlei tool installieren nur batch starten funktioniert.

danke :wink:

Hi.

der Grundgedanke ist ein tool für ne Datenbanksicherung zu
schreiben.

erste batch ist quasi die Installationsdatei (da es bei uns
Leute gibt die keine Ahnung von rechnern haben.

zweite batch ist dann die Datenbanksicherung an sich

3 batch ist nicht zwingend notwendig, aber im hintergrund soll
die Sicherung weiter laufen und per Countdown die übrige Zeit
bis zur nächsten Sicherung anzeigen.

Wie wäre es, den Countdown mit in die 2. Batch aufzunehmen.
Sobald die eigentliche Sicherung abgearbeitet ist, startet der Countdown und anschließend springst du per goto wieder an den Anfang. Oder du lässt die 1. Batch nicht die beiden anderen erzeugen, sondern die liegen der Installations-Batch als Datei bei (am besten nicht als irgendwas.bat, sonst klickt da noch jemand drauf) und du kopierst die dann ans Ziel.
Das wären so 2 alternative Möglichkeiten, die mir einfallen. Vielleicht geht es so ja besser dann.

Sebastian.

Danke, manchmal ist es so mit den Bäumen im Wald, ich hab jetzt den Countdown in die 2. batch eingebaut, damit funzt es Super, DANKE nochmals für den geilen tip mit dem escapen^ damit war mich schon unheimlich geholfen.

sorry,

mir nicht mich

hab leider keine bearbeiten funktion gefunden…

Hi.

Danke, manchmal ist es so mit den Bäumen im Wald, ich hab
jetzt den Countdown in die 2. batch eingebaut, damit funzt es
Super, DANKE nochmals für den geilen tip mit dem escapen^

Freut mich, dass ich helfen konnte.

damit war mich schon unheimlich geholfen.

In Anlehnung an einen Spruch aus der Werbung: wer-weiss-was, da werden Sie geholfen… :wink:

Sebastian.