yves-sascha
Goto Top

Benötigte Daten an Batch anhängen oder konvertieren

Hallo liebe Admins

Kann man eine Batch mit einem Ordner der diverse Dateien enthält konvertieren?

Ich möchte damit erreichen, dass ich am Schluss eine Datei habe, beim starten dieser Datei, soll die Batch ausgeführt werden.
In der Batch werden Variablen gesetzt, welche ich in ein txt speichern möchte. Zusätzlich wird während des laufens eine weitere Batch gestartet.
Diese zwei Dateien (txt & zweite Batch) möchte ich an die erste anhängen, so dass ich nur eine Datei habe, und nicht 3...

Ist so etwas in die Richtung möglich?


Vielen Dank schon jetzt für eure Antworten.
Yves

Content-ID: 160012

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

Ausgedruckt am: 25.11.2024 um 00:11 Uhr

60730
60730 02.02.2011 um 22:54:59 Uhr
Goto Top
Hallo und willkommen,

es ist jetzt 22:50 und wahrscheinlich bist du noch viel früher als ich aufgestanden face-wink

Denn so ganz schlau, was du da willst, werde ich nicht.

Kann man eine Batch mit einem Ordner der diverse Dateien enthält konvertieren?
  • Da hätte ich spontan an zippen oder in ein PDF packen gedacht...
Ich möchte damit erreichen, dass ich am Schluss eine Datei habe, beim starten dieser Datei, soll die Batch ausgeführt werden.
  • Streng genommen ist eine Batch eine Stapelverarbeitungsdatei und wozu willst du eine "Stapel" Datei haben, um damit eine Batch zu starten?
Ist so etwas in die Richtung möglich?
  • Morgen wieder, wenn die Kaffemaschine aktiv ist und du dein Vorhaben etwas konkreter beschrieben hast - sicherlich.

Gruß
bastla
bastla 02.02.2011 um 22:58:42 Uhr
Goto Top
Hallo yves-sascha und willkommen im Forum!

Das Ganze hört sich ziemlich abenteuerlich an - wozu soll denn die ganze Aktion gut sein? So richtig kann ich mir auch den Ablauf noch nicht vorstellen ...

Was soll denn in die Textdatei, und wozu braucht es einen zweiten Batch?

Grüße
bastla
90776
90776 02.02.2011 um 23:50:44 Uhr
Goto Top
hallo...

ich glaube du willst die Batch

compilieren, d.h eine Batch Datei mit Diversen anderen Files in eine EXE Paken,

dafür kann ich dir BAT to EXE empfehlen

Dabei wird beim start der exe die batch und die anderen Files in einen ordner entpackt und gestartet...

Grüsse
Switcher
60730
60730 03.02.2011 um 00:33:58 Uhr
Goto Top
N8 Switcher,

du solltest lieber ....

  • warten bis sich der TO wieder meldet
  • mal echte Bohnen in die Maschine schütten, aber Kaffee keine Kakao Bohnen...

  • Bat2exe will er sicherlich nicht und das bringts auch nicht..
  • Schau mal in meine erste Zeile mit nem Punkt und dann gurgel mal nach sfx
Aber wie getippt, ob er das wirklich will - soll er selber schreiben...
Wir sind doch nicht bei Rate mal mit Rosenthal

Gruß
90776
90776 03.02.2011 um 00:54:24 Uhr
Goto Top
@Timo

ok Warten wäre eine Alternative, aber
ich hab den Text 5 mal durchgelesen und "denke" dass er das will

was sfx ist weiss ich schon xD
aber ein sfx archiv kann doch keien Batch starten, oder doch?

Edit
Habs grad mit Winrar getestet... und ich finde es ist sehr viel einfach mit Bat2Exe zu arbeiten, man hat zwar nicht so viele Optionen, aber es ist hantlicher und schneller finde ich
Edit

und Bat2Exe find ich gar nicht schlecht so auf die schnelle... was hast du dagegen? bzw. welches Programm findest du besser?

und zum Raten... ich finde nach Mitternacht kann man auch Sachen machen, die man normalerweise nicht tut...

aber trotzdem Danke

Grüsse
60730
60730 03.02.2011 um 01:20:34 Uhr
Goto Top
[OT]
Zitat von @90776:
@Timo

ok Warten wäre eine Alternative, aber

back-to-topABER?

Wenn Alternative von Alternator kommt, dann hast du es geschafft i am loaded Keine Bohnen in die Maschine getutet?

Habs grad mit Winrar getestet... und ich finde es ist sehr viel einfach mit Bat2Exe zu arbeiten, man hat zwar nicht so viele Optionen, aber es ist hantlicher und schneller finde ich
  • Hantlicher?
Kommt hantlicher von Hanteln oder von handgerecht? So wie Herren von Herrlich und Dämlich von ?

Der McLaren MP4 vom Ayrton Senna ist auch schneller als mein Mopped, aber ob ich mit dem genauso schnell auf der Arbeit bin wie mit der ZXR14?
[/OT]
Bat2exe ist eine ganz Andreaskreuzige Baustelle

N8
Florian.Sauber
Florian.Sauber 03.02.2011 um 01:58:08 Uhr
Goto Top
Moin,

[OT]
na ja T-Mo, bei
Kann man eine Batch mit einem Ordner der diverse Dateien enthält konvertieren?
* Da hätte ich spontan an zippen oder in ein PDF packen gedacht...
Hast de ja auch tiefer in die Kristallkugel blicken müssen face-wink

@90776
aber ein sfx archiv kann doch keien Batch starten, oder doch?
Warum nicht?! Kommt halt darauf an, welche ArchivierungsSW man verwendet.
und Bat2Exe find ich gar nicht schlecht so auf die schnelle... was hast du dagegen? bzw. welches Programm findest du besser?
Na ja, wo anfangen: SFX modules for installers für 7z, Windows-Bordmittel(IExpress), oder jedes andere Tool, welches keine Shareware ist.

Kommt halt immer darauf an, wofür mans braucht. Aber darüber klärt uns der TO ja morgen auf...

LG Florian
90776
90776 03.02.2011 um 02:28:40 Uhr
Goto Top
ach timo du erinnerst mich wirklich an Dr. House (passen zu deinem profilbild

ein rechtschreibefehler darf doch mal vorkommen, oder nicht?

@Florian

natürlich habt ihr beide Recht mit Bat2exe, aber es ist trotzdem sehr simpel und einfach zu bedienen und reicht in den meisten Fällen ja auch

@die alten Hasen

und ausserdem glaube ich bei der Quallität der Frage, dass man es nicht zu kompliziert machen sollte

und NATÜRLICH seid ihr beiden hier die "alten" Hasen und wisst es ,aus Erfahrung, nunmal besser als ich... ist ja aber auch nichts schlimmes

Grüsse
yves-sascha
yves-sascha 03.02.2011 um 06:32:37 Uhr
Goto Top
Schönen guten morgen =)

@90776
vielen dank für deine Antwort
Bat2exe hab ich mir auch schon angeguckt, ich habe es jedoch damit nicht so hingekrigt wie ich das wolte.

Okke, ich probiere meine Problemstellung etwas zu verdeutlichen.
Während des laufens der Batch, wird der user diverse dinge abgefragt, diese variablen werden dann in eine txt gespeichert. Hatt den effekt, das man zu einem späteren Zeitpunkt wenn die Batch erneut gestartet wird nicht wieder alles abgefragt wird, sondern aus der txt ausgelesen, und nur bei bedarf geändert.

Ich möchte also die batch und die txt so zusammen packen, dass ich eigentlich nur die Batch sehe, diese jedoch auf die txt zugreifen kann...

Die zweite batch kann man forerst vernachläsigen


Vielen dank für weitere konstruktive Antworten.
Yves
bastla
bastla 03.02.2011 um 10:00:02 Uhr
Goto Top
Hallo yves-sascha!

Etwas zum Spielen:
@echo off & setlocal
for /f "delims=" %%i in ('findstr /b "__" "%~f0"') do (  
    set "%%i"  
    echo %%i
)
echo\
set /p __Wert1=Wert 1 eingeben (Enter=Wert "%__Wert1%" behalten):   
set /p __Wert2=Wert 2 eingeben (Enter=Wert "%__Wert2%" behalten):   
set /p __Wert3=Wert 3 eingeben (Enter=Wert "%__Wert3%" behalten):   
echo Batch verarbeitet %__Wert1% mit %__Wert2% und %__Wert3%
ping -n 2 127.0.0.1 >nul
echo ... und ist damit jetzt fertig
pause
:Beenden
findstr /v /b "__" "%~f0">%temp%\B1.tmp  
>%temp%\B2.tmp 2>nul set __ 
copy /b %temp%\B1.tmp + %temp%\B2.tmp "%~f0" >nul & del %temp%\B?.tmp & goto :eof  
:Daten
Anmerkung: Bitte beachten, dass es am Ende der letzten Zeile eine Zeilenschaltung geben muss ...

Grüße
bastla
bankaifan
bankaifan 03.02.2011 um 10:17:23 Uhr
Goto Top
Moin Yves-Sascha,

mir fällt da gerade noch eine Möglichkeit ein, die funktionieren könnte.

ADS.

Aber ich weiß, dass das Thema hier im Forum nicht so gerne gesehen ist. Wenn du willst erklär ich dir das über PM.

Viele Grüße

Bankaifan
Biber
Biber 03.02.2011 um 10:53:32 Uhr
Goto Top
Moin bastla,

würde ich genauso angehen - als Pessimist würde ich allerdings diese erhaltenswerten Variablennamen bis zur vorletzten Stelle angeben.

Also statt alle Variablen beginnend mit 2 Unterstrichen ("__") wegzuschreiben wirklich nur alle Variablen "__Wert" lesen/schreiben,
wenn ich %__Wert1%, %__Wert2%, %__Wert3% meine.

Weil.... ich habe es (auch hier im Forum) schon mehrfach gesehen, dass irgendwelche Variablen mit Präfix "_" gesetzt werden, weil....
"...das macht ja keiner ausser mir, da gibt es kein Kollisionsrisiko."

@bankaifan
Da kannst es natürlich mit Streams machen... nur...
Wenn bei mir bei einem Routine-Scan eine Batch-Datei auffällig wird, weil da noch irgendwas Verstecktes dranhängt - die könnte schnell aus dem Netzwerk fliegen.

Bätches sind doch Gebrauchs-Skriptchen - die sind per se lesbar, ungeschützt und unkompiliert , weil
  • da nix nobelpreisverdächtiges drin ist und
  • auch mal Anpassungen vorgenommen werden müssen
  • und weil Batchdateien ja auch jeder Heinz und jede Bärbel anschauen kann, soll und darf, bevor er/sie das auf den eigenen Rechner loslässt.

Von daher halte so eine Lösung für ... nicht erstrebenswert - ich möchte nicht, das solche Batches-mit-Streams durch meine Domänen geistern.

Wenn du von einem Kumpel eine Batchdatei geschenkt bekommst und feststellst,
da klebt so ein unsichtbarer Tarnbeutel dran - wie verhältst du dich?

Grüße
Biber
jeb-the-batcher
jeb-the-batcher 03.02.2011 um 10:57:57 Uhr
Goto Top
Guten morgen,

für mich hört sich das so an als wenn eine sich selbst veränderde Batchdatei eine Lösung wäre.
So wie bastla das auch schon angedeutet hat.

Dann könnte man einfach die gesammelten Werte (hoffentlich mit Nutzwert) am Ende der Batchdatei ablegen
und beim nächsten starten als default verwenden.

Um die dann zu ändern muss man etwas in der Trickkiste graben.
Allerdings hat Thuringian praktisch genau dieses hier gelöst
http://www.lingubender.com/forum/viewtopic.php?f=12&t=886&sid=c ...

jeb
bankaifan
bankaifan 03.02.2011 um 11:11:17 Uhr
Goto Top
Hast recht Biber :D

Naja. Ich kenn niemanden der auch nur ansatzweise eine Ahnung von Batchscripting hat face-wink

Aber da hätte ich paar fragen zu dem Code-Snippet von Bastla.

for /f "delims=" %%i in ('findstr /b "__" "%~f0"') do (  

Was macht das? Ich lasse eine For-Schleiche durch die Fundergebnisse von "___" in "%~f0" laufen. aber was ist diese " %~f0"? face-wink

 echo\ 


Wozu hier der Backslash?

>%temp%\B2.tmp 2>nul set __ 

Das versteh ich auch nicht so wirklich :P
copy /b %temp%\B1.tmp + %temp%\B2.tmp "%~f0" >nul & del %temp%\B?.tmp & goto :eof  

Was bewirkt das "?" beim löschen?

Hoffe ihr könnt mir das erklären face-smile

Bankaifan
60730
60730 03.02.2011 um 12:14:42 Uhr
Goto Top
Moin,

[OT]
wer sich den ganzen Fredfeuerstein noch nicht durchgelesen hat und nicht versteht, warum ich gestern completly loaded war...

der sollte sich mal in die lage des TO versetzen und meine Vorliebe für Frederickes die einen zweistelligen Anhang haben - kennen.

Was mich hierher bewogen hat, war das gut gestellte Fragen innerhalb 5-7 Antworten gelöst wurden - weniger ist mehr.

Diese ganze schick mir ne PM, erklärbär es dem Trittbrettfahrer -finde ich suboptimalen Mist.
[/OT]

Gruß
bastla
bastla 03.02.2011 um 13:43:36 Uhr
Goto Top
Hallo bankaifan!

Eine Batchdatei "kennt" sich selbst als %0 - allerdings entspricht das dem beim Aufruf verwendeten Namen: Wenn eine "doit.cmd" nur per "doit" aufgerufen wird, enthält %0 eben auch nur "doit". Die Schreibweise "%~f0" erzeugt im Gegensatz dazu immer den vollen Pfad mit allem Drum & Dran - damit findet sich die Batchdatei also ganz sicher selbst. Die Schleife wird benötigt, um alle vorher am Ende des Batches angefügten Variablen wieder herzustellen.
Wenn Du "echo\" nicht magst, verwende (das gebräuchlichere) "echo." (oder "echo,", "echo:", "echo+", ...)
>%temp%\B2.tmp 2>nul set __
kannst Du auch so schreiben:
set __>%temp%\B2.tmp 2>nul
damit wird einfach die Liste aller Variablen, die mit "__" beginnen sowie der zugewiesenen Werte in die Temp-Datei geschrieben (bzw, sollte es gar keine passenden Variablen geben, die fällige Fehlermeldung unterdrückt).
Was bewirkt das "?" beim löschen?
Als Wildcard sorgt es dafür, dass alle Dateien namens "B" + maximal ein weiteres Zeichen + ".tmp" gelöscht werden (ok, die zwei Dateien hätte ich auch ausschreiben können face-wink).

Grüße
bastla
bastla
bastla 03.02.2011 um 13:45:12 Uhr
Goto Top
@Biber
War ja auch ausdrücklich als "Spielzeug" deklariert (und kommentiert face-wink) - aber immerhin habe ich zwei "_" an den Anfang gesetzt ...

Grüße
bastla
bankaifan
bankaifan 04.02.2011 um 08:24:53 Uhr
Goto Top
Danke Bastla :D

Sehr schön erklärt face-smile

Gruß

Bankaifan