Rokop Security

Willkommen, Gast ( Anmelden | Registrierung )

 
Closed TopicStart new topic
> Hilfe: Batchdatei
Gast_pjan_*
Beitrag 12.07.2003, 14:17
Beitrag #1






Gäste






Vielleicht kann mir einer von Euch helfen?

Eine (Text-)Datei besteht nur aus einer Zeile. Darin steht

dateiname.exe

Das Ende dieser Zeile ist immer .exe. Der Dateiname ändert sich ständig.

Wie kann man diese Zeile auslesen und in einer Batchdatei über
SET irgendwas=<Zeile in Datei> setzen?

Ungefähr klar was ich meine? blink.gif
Go to the top of the page
 
+Quote Post
wizard
Beitrag 12.07.2003, 19:14
Beitrag #2



Trojaner-Jäger
Gruppensymbol

Gruppe: Mitarbeiter
Beiträge: 1.156
Mitglied seit: 15.04.2003
Wohnort: Düsseldorf
Mitglieds-Nr.: 23

Betriebssystem:
WinXP, MacOS 10.6, Vista



Das ist IMHO nicht möglich. Dafür ist der Befehlssatz von Batchdateien doch zu beschränkt. Bist Du sicher das die Übergabe des Dateinamens wirklich über den Umweg einer Textdatei erfolgen muss?

wizard


--------------------
wizardRESEARCH - Malware Research & Analysis since 1989
Go to the top of the page
 
+Quote Post
docprantl
Beitrag 12.07.2003, 20:06
Beitrag #3



Netzwerkrouter
Gruppensymbol

Gruppe: Freunde
Beiträge: 1.792
Mitglied seit: 22.04.2003
Mitglieds-Nr.: 52

Betriebssystem:
Windows



Diese Zeile kannst du mit
QUELLTEXT
FOR %%i IN (textdatei.txt) DO SET filename = %%i

in der Batchdatei ganz einfach auslesen.

docprantl
Go to the top of the page
 
+Quote Post
Gast_pjan_*
Beitrag 12.07.2003, 21:37
Beitrag #4


Threadersteller




Gäste






Hier der Sinn und Zweck:

Ich möchte den Kommandozeilenscanner von McAfee per Batch aktualisieren.
Über URL2FILE wird die Datei ftp://ftpeur.nai.com/pub/datfiles/german/update.ini
geladen. Mit einem Tool wird aus der Section 'SuperDAT-IA32' der Key 'Filename' gelesen.
Damit wird der Value 'sdat4276.exe' in eine besagte Datei (Readini.out) geschrieben.

Nun weiß ich, welche Datei ich laden muß, nämlich:
ftp://ftpeur.nai.com/pub/datfiles/german/sdat4276.exe

Und eben den letzten Schritt, das Laden der ...sdat4276.exe, bekomm ich nicht hin,
weil ich nicht an den Namen 'sdat4276.exe' herankomme, bzw. nicht weiß, wie ich
diesen nun aus der Datei Readini.out lesen kann.

Sofern es bei mir richtig ist, wird mir mit der Methode don docprantl immer der Dateiname,
Readini.out, zurückgeliefert, nicht jedoch der Inhalt (sdat4276.exe).

Falls es auch einfacher gehen sollte oder jemand weiß wie ich es hinbekomme ... das muß
doch machbar sein?!
Go to the top of the page
 
+Quote Post
Gast_pjan_*
Beitrag 12.07.2003, 21:50
Beitrag #5


Threadersteller




Gäste






Keine Ahnung was das bedeutet, aber mit

FOR /F "TOKENS=1" %%I IN (Readini.out) DO SET SDATFILE=%%I

geht es!
Go to the top of the page
 
+Quote Post
Muehle
Beitrag 13.07.2003, 01:22
Beitrag #6



War schon oft hier
**

Gruppe: Mitglieder
Beiträge: 125
Mitglied seit: 15.04.2003
Mitglieds-Nr.: 28

Betriebssystem:
W2000,WXP,Free BSD
Virenscanner:
AVast
Firewall:
Smoothwall



Hallo,
ZITAT
FOR /F ["Optionen"] %variable IN (Dateiensatz) DO Befehl [Parameter]
Der Dateiensatz besteht aus einem oder mehreren Dateinamen. Jede Datei
wird geöffnet, gelesen und bearbeitet, dann wird mit der nächsten Datei
des Satzes fortgefahren. Die Bearbeitung einer Datei erfolgt zeilenweise,
jede einzelne Textzeile wird ausgewertet und in die entsprechenden Token
(keinen oder mehrere) zerlegt. Die Befehle in der FOR-Schleife werden dann
mit den Variablenwerten (d.h. den gefunden Zeichenketten bzw. Token)
aufgerufen. Standardmäßig liefert /F den ersten, durch ein Leerzeichen
getrennten Token von jeder Zeile in jeder Datei. Leerzeilen werden
übersprungen. Das standardmäßige Verhalten bei der Analyse kann wahlweise
durch den Parameter "Optionen" überschrieben werden. Das ist eine
Zeichenkette in Anführungszeichen, welche eines oder mehrere Schlüssel-
wörter enthält, um verschiedene Parameter für die Analyse anzugeben. Diese
Schlüsselwörter sind:

tokens=x,y,m-n  - Gibt an, welche Token von jeder Zeile an die
                FOR-Schleife weitergegeben werden.
                Das führt dazu, dass zusätzliche Variablen erzeugt
                werden. Mit der Form m-n wird dabei ein Bereich vom
                m-ten bis zum  n-ten Token angegeben. Wenn das letzte
                Zeichen ein Sternchen ist, wird eine zusätzliche
                Variable deklariert, die den verbleibenden Text
                dieser Zeile enthält.


noch mehr Info gibt es mit
for /?
zumindest unter W2K

bis denne Muehle


--------------------
Fehler die man selber macht,macht man selten zweimal.
Go to the top of the page
 
+Quote Post

Closed TopicStart new topic
1 Besucher lesen dieses Thema (Gäste: 1 | Anonyme Besucher: 0)
0 Mitglieder:

 



Vereinfachte Darstellung Aktuelles Datum: 30.05.2024, 13:05
Impressum