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
Kommentar vom Moderator Biber am 01.08.2009 um 03:24:21 Uhr
Okay, gelöst ist es jetzt.
Kann aber eigentlich nicht daran liegen, dass jemand die Aufgabenstellung verstanden hat.
Ich denk noch mal in Ruhe über den passenden Bereich nach.
GELÖST

Zeile für Zeile auslesen mit funktioniert nicht nicht ....

Frage Entwicklung Batch & Shell

Mitglied: S3RB31

S3RB31 (Level 1) - Jetzt verbinden

30.07.2009, aktualisiert 01.08.2009, 3791 Aufrufe, 13 Kommentare

Hallo,

also ich bin neu hier im Forum und hab eine frage die ich zuerst hier stelle da ich den Code gröstenteils von hier habe....

Nun zu meinme Problem,

Ich habe eine .txt mit insgesamt 2394 Zeilen, diese Zeilen muss ich zeile für zeile in ein Satz reinbekommen...

z.B. :
Martin feiert am "Zeile1".
Martin feiert am "Zeile2".
Martin feiert am "Zeile3".
usw....

meine Batch sieht bisher so aus:

01.
@echo off 
02.
 
03.
 
04.
Set /a "cnt=1" 
05.
Set /a "n=1" 
06.
:A 
07.
 
08.
echo %n% 
09.
 
10.
for /F "Tokens=*" %%i in (Test.txt) do call :setvarFixLine %n% "%%i"  
11.
Echo $su = "%Var%" 
12.
 
13.
set /a n+=1 
14.
 
15.
if %n%==2394 goto :eof 
16.
goto A 
17.
 
18.
:setvarFixLine 
19.
If %cnt%==%1 Set "Var=%~2" 
20.
Set /a "cnt+=1"  
21.
goto :eof
Ich denke der Code sollte sich soweit von selbst erklären wenn nicht bitte fragen.
Das problem ist nur das ich trotz "set /a n+=1" immer nur die erste Zeile ausgegeben bekomme...

Ich kann mir nicht erklären woran das liegt bitte um hilfe
Mitglied: bastla
30.07.2009 um 19:04 Uhr
Hallo S3RB31und willkommen im Forum!

Weshalb brauchst Du einen Zähler?

Um nur die angegebenen Ausgaben zu erzeugen, würde ja eigentlich
for /f "delims=" %i in (Test.txt) do @echo $su = %i
direkt von der Kommandozeile (oder mit %%i in einem Batch) genügen ...

Sollen es aber tatsächlich nur die ersten 2394 Zeilen sein, dann eben:
for /f "tokens=1* delims=:" %i in ('findstr /n "^" "Test.txt"') do @if %i leq 2394 @echo $su = %j
Grüße
bastla

[Edit] Der Übersicht wegen noch zwei @ eingebaut [/Edit]
Bitte warten ..
Mitglied: S3RB31
30.07.2009 um 19:18 Uhr
Hmm, also dein Beispiel funktioniert leider nicht als Ausgabe bekomme ich:

01.
 
02.
"j" ist syntaktisch an dieser Stelle nicht verarbeitbar. 
03.
 
Aber danke für die schnell Hilfe.
Bitte warten ..
Mitglied: bastla
30.07.2009 um 19:23 Uhr
Hallo S3RB31!

Hatte gewohnheitsmäßig "%%i", aber dann nur "%j" geschrieben - also entweder Commandline, dann nur jeweils ein "%"-Zeichen, oder Batch, dann jeweils mit "%%" ...

Ich korrigier's oben auf "%i".

Grüße
bastla
Bitte warten ..
Mitglied: S3RB31
30.07.2009 um 20:21 Uhr
Ah ok vielen Dank für die Hilfe es hat zwar nicht ganz so geklappt wie ich es gedacht hatte aber letztendlich hab ich das was ich haben wollte.

Bis dann,

S3RB31
Bitte warten ..
Mitglied: bastla
30.07.2009 um 20:30 Uhr
Hallo S3RB31!
Ah ok vielen Dank für die Hilfe es hat zwar nicht ganz so geklappt wie ich es gedacht hatte aber letztendlich hab ich das was ich haben wollte.
Alle zukünftigen Leser dieses Threads (falls ihn Biber denn erhaltenswert finden sollte), werden sich bestimmt aufgrund Deiner aufschlussreichen Zusammenfassung mit Dir freuen ...

Grüße
bastal
Bitte warten ..
Mitglied: S3RB31
30.07.2009 um 21:20 Uhr
Nun ja da gibt es nichts zusammenzufassen jeder der dein Befehl ausführt wird merken das das Command-Prompt nur 299 Zeilen ausgibt und man diese nun immer aus dem .txt file löschen muss...
Bitte warten ..
Mitglied: bastla
30.07.2009 um 22:16 Uhr
... das das Command-Prompt nur 299 Zeilen ausgibt und man diese nun immer aus dem .txt file löschen muss...
... was aber eigentlich nur an der Textdatei liegen kann ...

Grüße
bastla
Bitte warten ..
Mitglied: Sonnenscheinhasser
31.07.2009 um 00:14 Uhr
Warum muss es denn unbedingt per Batch sein?
Notepad++ z.B. ist sehr mächtig und hat integrierte Macrorecorderfunktionen.
Einfach die Record-Taste drücken, die gewünschte Aktion einmal ausführen und dann automatisiert bis zum Dateiende durchlaufen lassen. Easy!

Schwarze Grüße,
Tom
Bitte warten ..
Mitglied: S3RB31
31.07.2009 um 01:10 Uhr
Hi,

hmm ja meinst du das würde gehn weil ich hab ja immer ein anderen Text den ich einfüen müsste...
Bitte warten ..
Mitglied: Sonnenscheinhasser
31.07.2009 um 12:05 Uhr
Pro Zeile anders oder pro Datei?
Bitte warten ..
Mitglied: S3RB31
31.07.2009 um 14:32 Uhr
Hi,

also pro Zeile ein anderer Text...
Bitte warten ..
Mitglied: bastla
31.07.2009 um 16:21 Uhr
Hallo S3RB31!

Möchtest Du vielleicht noch einmal, möglichst konkret, beschreiben, was Du zu erreichen versuchst?

Nach den nicht allzu konkreten Hinweisen im Laufe dieses Threads könnte ich zwar vermuten, dass Du eine neue Datei erstellen willst, welche für jede Zeile (und nicht nur für eine bestimmte Anzahl davon) der alten Datei als neue Zeile
$su = "Zeileninhalt"
enthalten soll - dann könntest Du es mit folgendem Batch versuchen:
01.
@echo off & setlocal 
02.
set "Alt=D:\Test.txt" 
03.
set "Neu=D:\Neu.txt" 
04.
 
05.
if exist "%Neu%" del "%Neu%" 
06.
for /f "usebackq delims=" %%i in ("%Alt%") do >>"%Neu%" echo $su = "%%i"
Falls es das nicht sein sollte, dann bitte eine nachvollziehbare Beschreibung des gewünschten Ergebnisses (bzw Ablaufs).

Grüße
bastla
Bitte warten ..
Mitglied: S3RB31
01.08.2009 um 02:26 Uhr
Hi,

also bastla dein Skript ist absolut perfekt GENAU das was ich wollte offensichtlich konntest du mich doch verstehen =D....

Vielen Dank und Grüße

S3RB31
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Installation
gelöst Mit Powershell in einer Datei eine Zeile auslesen (6)

Frage von Bommi1961 zum Thema Installation ...

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

Frage von lordzwieback zum Thema Google Android ...

Windows Server
Flickercode remote am Terminalserver auslesen funktioniert nicht (9)

Frage von immobrauch zum Thema Windows Server ...

Batch & Shell
gelöst Powershell funktioniert nicht richtig beim Auslesen der letzten Zeile (5)

Frage von Peter32 zum Thema Batch & Shell ...

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

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...