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
GELÖST

Zeilen wechsel in einer .txt datei

Frage Entwicklung Batch & Shell

Mitglied: wannabeapro

wannabeapro (Level 1) - Jetzt verbinden

05.09.2007, aktualisiert 18.10.2012, 3888 Aufrufe, 6 Kommentare

Hallo Jungs



Nachdem ich nun alles hinbekommen hab
Wartet nun das letzte und wohl größte Problem
Ich möchte nun innerhalb des Text Dokuments die Zeile wechseln die Ausgelesen werrden soll.
Dazu hab ich zwar einiges im Netz gefunden. Dort wird aber nichts näheres erklärt und so versteh ich die Befehl anfolge nicht so ganz

Währe nett wenn ihr mir den befehl und vllt ein kleines Bsp geben könntet mit einer erklärung.

So kleines Edit vorm Feierabend damit morgen früh vllt etwas Brauchbares dabei ist

Und zwar habe ich eine Text datei in der Pfade stehen. Im bsp:

Quelle Ziel
Quelle Ziel
...

Nun soll er bei jedem Schleifen Ablauf Die Quelle in die Variable "Quelle" schreiben und Ziel in die Variable " Ziel"
Das macht er auch soweit, halt nur für die erste Zeile.
Beim nägsten Durchlauf hät ich dann gerne die Zweite Zeile zum einlesen und dann die Dritte...
Wie kann ich das Realisieren?

Sorry wenn die Frage vllt etwas blöd Klingt aber ich habe mit Batch erst seit 2 Tage zutun. Bin somit ein Absoluter Anfänger ^^

Hoffe die Batch Experten haben ne Lösung Parat

Als kleiner ansporn vllt das Ende variable gestallten? Das das Programm vorher Die Zeilen durch Zählt und diese Zahl dann als ende Definiert.

Ist im moment leider auch zuhoch für mich

Also ich hoffe auf eure Hilfe


01.
@FOR /F "eol=; tokens=1,2* usebackq delims=, " %%i in ("liste.txt") do @(  
02.
   	@set Quelle=%%i  
03.
   	@set Ziel=%%j 
04.
	pause 
05.
	@echo %Quelle% 
06.
	@echo %Ziel% 
07.
	pause 
08.
	echo %tok% 
09.
 
10.
 
11.
	 
12.
	if "%tok%" == "19" goto :ende ) 
13.
 
14.
 

Danke schon einmal im voraus

Mit freundlichen Grüßen

Wannabeapro
Mitglied: miniversum
05.09.2007 um 19:18 Uhr
Ich interpretiere da jetzt 2 Möglichkeiten rein was du wollen köntest:
a) Du willst nur die 19. Zeile auslesen. Das geht dann so:
@echo off
set "gelesen="
FOR /F "skip=18 delims= " %%i in ("liste.txt") do if undefined gelesen (set quelle=%%i & set ziel=%%j & set gelesen=1)
echo %quelle%
echo %ziel%

b) Du willst alle Zeilen bis einschließlich 19 auslesen.
@echo off
setlocal enabledelayedexpansion
set zahl=1
FOR /F "delims= " %%i in ("liste.txt") do (
if !zahl! leq 19 (
set quelle=%%i
set ziel=%%j
set /a zahl=!zahl!+1
echo %quelle%
echo %ziel%
)
)

miniversum
Bitte warten ..
Mitglied: wannabeapro
05.09.2007 um 19:43 Uhr
Hallo

Danke für deine Antwort habe das gerade hier mal durch getestet und etwas abgeändert.
Nun gibt er mir den Datei namen aus Oo

01.
@echo off 
02.
setlocal enabledelayedexpansion 
03.
set zahl=1 
04.
set quelle=muh 
05.
set ziel=muh 
06.
:schleife 
07.
FOR /F "delims= " %%i in ("liste.txt") do ( 
08.
if !zahl! leq 19 ( 
09.
set quelle=%%i 
10.
set ziel=%%j 
11.
set /a zahl=!zahl!+1 
12.
echo %quelle% 
13.
echo %ziel% 
14.
pause 
15.
goto :schleife 
16.
if %zahl%==19 goto exit 
17.
18.
19.
exit
Im Commando Fenster gab er bei zurück änderung auch nur noch aus:

Echo is ausgeschaltet ; und Brach dann ab.

bei meiner abänderung deklariert er nur die erste Variable als "Dateiname"
die zweite läst er leer bzw schreib "%%j" rein.

Danke schon einmal für eure Hilfe.

Mit freundlichen Grüßen
wannabeapro
Bitte warten ..
Mitglied: Biber
06.09.2007, aktualisiert 18.10.2012
Moin wannabeapro,

nach mehrmaligem Lesen bin ich zu dem Schluss gekommen, dass Du eine bestimmte Zeile lesen willst. Jedenfalls glaube ich das aus Deiner Beitragseröffnungsfrage herauszulesen.

Dazu ist u.a. ein Beispiel hier EINE Zeile aus TXT-Datei lesen.

In miniversums passendem Ansatz dazu (der Variante a) fehlt nur die TOKEN-Angabe und das "if undefined gelesen" sollte "if not defined gelesen" heißen.

Aber der kürzere Oneliner wäre dann sicher [vom CMD-Prompt]:
01.
For /F "tokens=2,3* delims=, " %i in ('findstr /n "$" liste.txt^|findstr "^18:" ') do (@echo %i) & @Echo %j
[Ungetestet, und im Batch wieder auf mehrere Zeilen verteilt und mit zwei Prozentzeichen etc].
Erläuterung: Ich suche mit Findstr /n [==mit Zeilennummern] alle Zeilen, und davon will ich nur Zeile 18 == die Zeile mit "18:" am Zeilenanfang.

Grüße
Biber
Bitte warten ..
Mitglied: wannabeapro
07.09.2007 um 07:43 Uhr
Hallo

Danke für eure Antworten das ist ja schon einiges.

Allerdings wollt ich nicht nur eine bestimmte Zeile auslesen sondern,
Jede zeile nacheinander einlesen.
In der Datei stehen wie folgt Pfade:
Quelle Ziel
Quelle Ziel
...

diese möcht ich dann nach einander einlesen und bsp die Quelle in die Variable %quelle% und das Ziel in die variable %ziel% speichern.
Diese werte solln dann noch innerhalb der Schleife an den Robocopy weiter gegeben werden.

Wie folgt:

01.
robocopy %quelle% %ziel% /S /B /MAXLAD:xxx
Das Programm Robocopy soll dann inerhalb der Schleife noch ausgeführt werden.

Das hat den Sinn das wir die daten von einem server auf den anderen legen möchten allerdings mit einer anderen Ordnerstruktur.

Und dieses Script soll uns halt etwas zeit sparn damit wir nicht alles Manuell machen müssen.

Also im Bsp:

1. schleifen durchlauf
Zeile 1 auslesen

2. Durchlauf
Zeile 2

usw

Nach möglichkeit sollte das Programm sich von selbst Benden wenn das ende der txt erreicht ist.

Mit freundlichen Grüßen

Wannabeapro
Bitte warten ..
Mitglied: miniversum
07.09.2007 um 17:34 Uhr
Ok war ungetestet von mir.
Willst du die ganze Liste abarbeiten dann geht das so:
@echo off
FOR /F "tokens=1,2 delims= " %%i in ('type "liste.txt"') do (
echo robocopy %%i %%j /S /B /MAXLAD:xxx
)

Das echo vorm robocopy must du dann halt rausnehmen damit es richtig kopiert

miniversum
Bitte warten ..
Mitglied: wannabeapro
08.09.2007 um 18:50 Uhr
Hallo

besten Dank
Es Funktioniert wenn ich dran denke das ich da vorer nen 12-20 Zeiler drin stehn hat und es nun quasi nen 3 zeiler ist XD

Nunja da sieht man mal wieder aller anfang ist schwer.

Aber trozdem besten Dank.

Mit freundlichen Grüßen
wannabeapro
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Batch & Shell
gelöst Einzelne Zeilen in txt Datei speichern und auslesen (7)

Frage von noah1400 zum Thema Batch & Shell ...

Webentwicklung
gelöst HTML Output in eine txt Datei mit VisualBasicScript (2)

Frage von coca22COCA zum Thema Webentwicklung ...

Batch & Shell
Merkwürdige Zeilenformatierung in txt Datei (3)

Frage von miczar zum Thema Batch & Shell ...

Batch & Shell
gelöst In Batchdatei Variablen befüllen - mit Werten aus einer TXT-Datei (6)

Frage von donnyS73lb zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (15)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...