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, 4717 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst BATCH: Daten aus Textdatei auslesen und in neue Textdatei separieren (9)

Frage von Manuel1234 zum Thema Batch & Shell ...

HTML
gelöst Mit HTML Datei eine Textdatei auslesen (7)

Frage von Maffi zum Thema HTML ...

Google Android
Textdatei auf SD Karte auslesen funktioniert nicht (Oneplus One) (4)

Frage von lordzwieback zum Thema Google Android ...

Batch & Shell
gelöst Mit batch zeilen auslesen (2)

Frage von keksegriller zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...