Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Zeilen aus Textdatei auslesen und danach weiterverwenden

Frage Entwicklung Batch & Shell

Mitglied: batch12

batch12 (Level 1) - Jetzt verbinden

09.09.2009, aktualisiert 19:10 Uhr, 4728 Aufrufe, 11 Kommentare

Guten Abend,

ich habe ein Problem. Mein problem ist, dass ich Zeilen aus einer Text datei aus lesen will und diese danach in eine batch datei einfügen will.

Hier noch mal etwas genauer:
01.
@echo off 
02.
set log="%userprofile%\Desktop\files.txt" 
03.
if exist %log% del %log% 
04.
 
05.
for %%d 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 ( 
06.
    if exist %%d:\ ( 
07.
        %%d: 
08.
        cd \ 
09.
        dir *.vb*;autorun.inf;boot.com /s 
10.
        dir *.vb*;autorun.inf;boot.com /ah /s 
11.
        attrib 
12.
13.
) >> %log%
Wenn es nun diese datei files.txt gibt und dort etwas drin steht, wie kann ich dann die zeile/zeilen auslesen und danach in einer batch weiter verwenden?

Hier ein beispiel btw. das was ich damit vorhabe:

01.
@ECHO OFF 
02.
attrib -s -r -h c:\WINDOWS\system32\abc.vbs 
03.
del c:\WINDOWS\system32\abc.vbs 
04.
attrib -s -r -h c:\abc.vbs 
05.
attrib -s -r -h c:\autorun.inf 
06.
attrib -s -r -h d:\abc.vbs 
07.
attrib -s -r -h d:\autorun.inf 
08.
del c:\abc.vbs 
09.
del c:\autorun.inf
In der files.txt datei steht ein Pfad z.B. c:\abc.vbs. Jetzt ist meine frage wie kann ich diesen pfad auslesen und dann in meiner 2ten batch datei verwenden?

01.
attrib -s -r -h "hier der pfad aus der filestxt datei" 
02.
 
03.
del "hier der pfad aus der filestxt datei"
Ich hoffe ich habe mich verständlich ausgedrückt und ich hoffe das ihr mir bei meinem Problem weiterhelfenkönnt.

Gruß,
batch12
Mitglied: 60730
09.09.2009 um 19:43 Uhr
Servus,

Attrib kann nicht nur -+s (Systembit setzen löschen)

  • - es kann auch Unterordner /s und Platzhalter *.vbs
  • - und das gleiche gilt auch für del

btw: Deine Frage...

for /f "delims=" %%i in ('"datei"') do usw...

Einfach mal for /? durchkauen.

Gruß
Bitte warten ..
Mitglied: batch12
09.09.2009 um 20:42 Uhr
Okay ich werds mal versuchen.

Auf der Schule haben wir nämlich so ein nerviges Script...welches eine vbs datei und autorun.inf erstellt.
Jetzt will ich versuchen diese Datein zulöschen, das ganze soll ich bis Freitag machen.
Ich hoffe ihr könnt mir weiterhelfen falls ich etwas nicht richtig verstehen sollte.

Edit: Ich habe mir jetzt mal kurz for/? angesehen und weiß jetzt ungefähr für was for genau gut ist, aber ich weis nicht wie ich es jetzt hinekommen soll, dass der Pfad automatisch in eine batch datei eingfügt wird.

Könnte mir das bitte jemand etwas genauer erklären?

Danke schon einmal in voraus.

MfG,
batch12


Edit2: So ich habe jetzt alles von meinem Programm fertig mir fehlt jetzt nur noch das auslesen und einfügen in eine Batch. Ich hoffe ihr könnt mir helfen, denn ich habe das mit for nicht genau verstanden
(wie in edit 1 beschrieben)
Bitte warten ..
Mitglied: AlbertMinrich
09.09.2009 um 21:59 Uhr
Probier mal das:
for /F %%i in (files.txt) do attrib -s -r -h %%i
Bitte warten ..
Mitglied: batch12
09.09.2009 um 22:12 Uhr
Leider kommt folgende Fehlermeldun %%i kann syntaktisch an dieser Stelle nicht ver arbeitet werden.

Mach ich da irgend einen feheler

01.
@echo off 
02.
set log="%userprofile%\Desktop\files.txt" 
03.
if exist %log% del %log% 
04.
 
05.
for %%d 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 ( 
06.
    if exist %%d:\ ( 
07.
        %%d: 
08.
        cd \ 
09.
        dir *.vb*;autorun.inf;boot.com /s 
10.
        dir *.vb*;autorun.inf;boot.com /ah /s 
11.
        attrib 
12.
13.
) >> %log%
Zweite Batch Datei:

01.
@ECHO OFF 
02.
attrib -s -r -h %%i in (files.txt) do attrib -s -r -h %%i.vbs 
03.
del for /F %%i in (files.txt) do attrib -s -r -h %%iattrib -s -r -h c:\abc.vbs 
04.
attrib -s -r -h for /F %%i in (files.txt) do attrib -s -r -h %%i 
05.
attrib -s -r -h for /F %%i in (files.txt) do attrib -s -r -h %%i 
06.
attrib -s -r -h for /F %%i in (files.txt) do attrib -s -r -h %%i 
07.
del c:\for /F %%i in (files.txt) do attrib -s -r -h %%i 
08.
del c:\for /F %%i in (files.txt) do attrib -s -r -h %%i
Ich denke ich habe da etwas falsch verstanden oder ?

Ich weiß nicht genau wo es hin gehört.

Kann man das überhaupt machen?
for /F %%i in (files.txt) do attrib -s -r -h %%i

Hier mit liest man doch den ganzen Text aus oder?

Ich muss ja Dateien aus verschiedenen laufwerken löschen.

01.
attrib -s -r -h "hier der pfad aus der filestxt datei" 
02.
 
03.
del "hier der pfad aus der filestxt datei"
MfG,
batch12
Bitte warten ..
Mitglied: bastla
09.09.2009 um 22:23 Uhr
Hallo batch12 und willkommen im Forum!

Schleifen sind sehr nützlich, aber, wie TimoBeil oben schon angesprochen hat, gelegentlich gar nicht nötig - wenn Du tatsächlich zB alle "autorun.inf" auf D: eliminieren willst, sollte
01.
    del /s /ar D:\autorun.inf >nul 2>nul 
02.
    del /s /a D:\autorun.inf >nul 2>nul
schon genügen ...

Um das tatsächlich auf allen Laufwerken zu erledigen, dann doch mit Schleife:
01.
for %%d 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 ( 
02.
    del /s /ar %%d:\autorun.inf >nul 2>nul 
03.
    del /s /a %%d:\autorun.inf >nul 2>nul 
04.
)
Grüße
bastla
Bitte warten ..
Mitglied: batch12
09.09.2009 um 22:30 Uhr
Danke für die Begüßung.

Heißt das das alle autorun.inf dateien gelöschst werden?

Könnte ich auf die gleiche weise alle vbs dateien löschen?

Und wie ist das mit c:\windows\system\system32\abc.vbs

Kann ich die damit auch löschen?

MfG,
batch12

Edit: Ist mit /ar... /a und /r gemeint?
Bitte warten ..
Mitglied: AlbertMinrich
09.09.2009 um 22:31 Uhr
Wenn in der Datei files.txt diese Zeilen drin stehen:
c:\abc\sonstwas
d:\def\sonstwas
dann führt die Zeile
for /F %%i in (files.txt) do attrib -s -r -h %%i
folgende Aktionen durch
attrib -s -r -h c:\abc\sonstwas
attrib -s -r -h d:\def\sonstwas
Bitte warten ..
Mitglied: bastla
09.09.2009 um 22:42 Uhr
Hallo batch12!
Ist mit /ar... /a und /r gemeint?
Damit ist "/ar" (oder, wenn Du willst, auch "/a:r") gemeint - also alle Dateien mit Schreibschutz (das Archiv-Bit interessiert in diesem Zusammenhang ja nicht wirklich).

Mit "/a" und nix dahinter ist jedes (andere) oder auch kein Attribut gemeint.

Grüße
bastla

P.S.: Die Antworten auf die anderen Fragen findest Du beim Testen selbst ...
Bitte warten ..
Mitglied: bastla
09.09.2009 um 22:45 Uhr
@AlbertMinrich
Wenn allerdings nicht sicher ist, dass die Datei "files.txt" keine Pfade oder Dateinamen mit Leerzeichen enthält, wäre
for /F "delims=" %%i in (files.txt) do attrib -s -r -h "%%i"
vorzuziehen ...

Grüße
bastla
Bitte warten ..
Mitglied: batch12
09.09.2009 um 22:48 Uhr
Okay vielen dank aber leider kann ich erst Freitag testen, weil ich erst dann wieder an die schul pcs komme und ich den virus nicht selber habe.

Achja eine frage hab ich noch:

Ein Beispiel:

01.
reg delete HKLM\..\Run: [%computername%] C:\WINDOWS\SYSTEM32\......
Dieser Befehl müsste doch funktioniernen, oder?

MfG,
batch12

Edit: Wenn ich Batch dateien nach einander ausführen will kann ich dann auch einfach am ender der ersten batch datei schreiben : start test 2.bat?
Oder gibts da noch irgendeinen anderen befehl?
Bitte warten ..
Mitglied: batch12
10.09.2009 um 22:48 Uhr
Noch einmal ein danke für die hilfe. @ bastala ich habe dir eine nachricht geschrieben.

MfG,
batch12
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch: Textdatei Zeilenweise auslesen (2)

Frage von CreatorX zum Thema Batch & Shell ...

Batch & Shell
gelöst Bestimmte Zeile einer Textdatei mit Batch auslesen (2)

Frage von PinkFLuffyUnicorn zum Thema Batch & Shell ...

PHP
gelöst TXT Datei auslesen und bestimmte Zeilen in Variable setzen (11)

Frage von 126594 zum Thema PHP ...

Microsoft Office
gelöst Excel: Einzelne Zeilen einer mehrzeiligen Zelle auslesen (3)

Frage von Booster07 zum Thema Microsoft Office ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (44)

Frage von sabines zum Thema Internet ...

Netzwerke
Wie erstelle ich ein Intranet (19)

Frage von Leonardnet zum Thema Netzwerke ...

LAN, WAN, Wireless
gelöst Eintägige Netzwerkunterbrechung trotz Backupleitung (15)

Frage von iAmbricksta zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2012 R2 - Zugriff Verweigert bei jeglicher Tätigkeit (13)

Frage von DarkLevi zum Thema Windows Server ...