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

Zahl hinter immer gleichem Wort plus 1 rechnen (linear wachsend) - per Batch

Frage Entwicklung Batch & Shell

Mitglied: xtbodx

xtbodx (Level 1) - Jetzt verbinden

29.10.2010 um 19:19 Uhr, 3421 Aufrufe, 2 Kommentare

Noch eine Frage ;)

Habe eine .txt in der viele Zahlen und Buchstaben in jeder Zeile stehen, jedoch steht in jeder 5. Zeile (ab der 2. Zeile also in Zeile 2, 7, 12, 17 u.s.w.) immer das gleiche Wort (CONTENT) gefolgt von einem Gleichheitszeichen und einer immer gleichen Zahl (=X). Jetzt möchte ich, dass immer X also die Zahl plus eins gerechnet wird, jedoch linear wachsend, damit danach nicht wieder überall die gleiche Zahl steht sondern sich diese immer um eins erhöht. Ich denke durch das Beispiel wird es verständlich ;)

Eingabe.txt
TAG POS=1 TYPE=TD ATTR=ID:label_addAddressButton
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_keyword CONTENT=104
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_from CONTENT=a
TAG POS=1 TYPE=TEXTAREA FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_notes CONTENT=a
TAG POS=2 TYPE=BUTTON ATTR=TXT:Speichern
TAG POS=1 TYPE=TD ATTR=ID:label_addAddressButton
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_keyword CONTENT=104
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_from CONTENT=a
TAG POS=1 TYPE=TEXTAREA FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_notes CONTENT=a
TAG POS=2 TYPE=BUTTON ATTR=TXT:Speichern
TAG POS=1 TYPE=TD ATTR=ID:label_addAddressButton
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_keyword CONTENT=104
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_from CONTENT=a
TAG POS=1 TYPE=TEXTAREA FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_notes CONTENT=a
TAG POS=2 TYPE=BUTTON ATTR=TXT:Speichern
TAG POS=1 TYPE=TD ATTR=ID:label_addAddressButton
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_keyword CONTENT=104
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_from CONTENT=a
TAG POS=1 TYPE=TEXTAREA FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_notes CONTENT=a
TAG POS=2 TYPE=BUTTON ATTR=TXT:Speichern
TAG POS=1 TYPE=TD ATTR=ID:label_addAddressButton
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_keyword CONTENT=104
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_from CONTENT=a
TAG POS=1 TYPE=TEXTAREA FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_notes CONTENT=a
TAG POS=2 TYPE=BUTTON ATTR=TXT:Speichern

Ausgabe.txt
TAG POS=1 TYPE=TD ATTR=ID:label_addAddressButton
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_keyword CONTENT=104
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_from CONTENT=a
TAG POS=1 TYPE=TEXTAREA FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_notes CONTENT=a
TAG POS=2 TYPE=BUTTON ATTR=TXT:Speichern
TAG POS=1 TYPE=TD ATTR=ID:label_addAddressButton
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_keyword CONTENT=105
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_from CONTENT=a
TAG POS=1 TYPE=TEXTAREA FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_notes CONTENT=a
TAG POS=2 TYPE=BUTTON ATTR=TXT:Speichern
TAG POS=1 TYPE=TD ATTR=ID:label_addAddressButton
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_keyword CONTENT=106
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_from CONTENT=a
TAG POS=1 TYPE=TEXTAREA FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_notes CONTENT=a
TAG POS=2 TYPE=BUTTON ATTR=TXT:Speichern
TAG POS=1 TYPE=TD ATTR=ID:label_addAddressButton
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_keyword CONTENT=107
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_from CONTENT=a
TAG POS=1 TYPE=TEXTAREA FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_notes CONTENT=a
TAG POS=2 TYPE=BUTTON ATTR=TXT:Speichern
TAG POS=1 TYPE=TD ATTR=ID:label_addAddressButton
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_keyword CONTENT=108
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_from CONTENT=a
TAG POS=1 TYPE=TEXTAREA FORM=ACTION:/y5/d/cgoptions ATTR=ID:adddea_notes CONTENT=a
TAG POS=2 TYPE=BUTTON ATTR=TXT:Speichern
Mitglied: bastla
29.10.2010 um 22:56 Uhr
Hallo xtbodx!

Soferne der Startwert bekannt und die Stellenanzahl der hochzuzählenden Nummer immer 3 ist könnte das so gehen:
01.
@echo off & setlocal 
02.
set "Ein=D:\Eingabe.txt" 
03.
set "Aus=D:\Ausgabe.txt" 
04.
set "Kenn=CONTENT=104" 
05.
set /a Nr=104 
06.
 
07.
del "%Aus%" 2>nul 
08.
for /f "usebackq delims=" %%i in ("%Ein%") do set "Zeile=%%i" & call :ProcessLine 
09.
goto :eof 
10.
 
11.
:ProcessLine 
12.
echo %Zeile%|findstr /e "%Kenn%">nul||(>>"%Aus%" echo %Zeile% & goto :eof) 
13.
>>"%Aus%" echo %Zeile:~,-3%%Nr% 
14.
set /a Nr+=1 
15.
goto :eof
Anmerkung: Aus Gründen der Genauigkeit wird immer das Zeilenende untersucht (es darf daher auf "CONTENT=104" zB kein Leerzeichen mehr folgen), da ja die letzten 3 Zeichen ersetzt werden sollen. Auch wird bei der Überprüfung auf denn Kennzeichen-String Groß-/Kleinschreibung beachtet - wenn das nicht gewünscht sein sollte, müsste "findstr" zusätzlich den Schalter "/i" erhalten ...

Grüße
bastla
Bitte warten ..
Mitglied: rubberman
29.10.2010 um 23:16 Uhr
Hallo xtbodx und bastla.

Ein anderer Ansatz wäre, die Abfolge als Grundlage zu nehmen. 6. Token (mit "=" als Delimiter) in der 2. Zeile ist die Startnummer, Jede 5. Zeile ab der 2. wird verändert.

01.
@echo off &setlocal 
02.
>"Ausgabe.txt" type nul 
03.
for /f "tokens=1* delims=:" %%a in ('findstr /n . "Eingabe.txt"') do ( 
04.
  set /a n=%%a-2 
05.
  set "line=%%b" 
06.
  call :procLine 
07.
08.
pause 
09.
goto :eof 
10.
 
11.
:procLine 
12.
setlocal enabledelayedexpansion 
13.
if "%n%"=="0" ( 
14.
  for /f "tokens=6 delims==" %%a in ("!line!") do set /a X=%%a-1 
15.
16.
set /a n%%=5 
17.
if "%n%"=="0" ( 
18.
  for /f "tokens=1-5 delims==" %%a in ("!line!") do ( 
19.
    set /a X+=1 
20.
    set "line=%%a=%%b=%%c=%%d=%%e=!X!" 
21.
22.
23.
>>"Ausgabe.txt" echo\!line! 
24.
endlocal &set "X=%X%" 
25.
goto :eof 
26.
 
Grüße
rubberman
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (12)

Frage von Motte990 zum Thema Microsoft Office ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...