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

2 Zeilen 2er txt dateien mit batch vergleichen und vorhandene löschen

Frage Entwicklung Batch & Shell

Mitglied: DONNobre

DONNobre (Level 1) - Jetzt verbinden

13.07.2011 um 19:41 Uhr, 4577 Aufrufe, 12 Kommentare

Hallo zusammen, wieder einmal habe ich ein Problem und wiedereinmal wende ich mich an euch

Habe schon mehrere google suchen gestartet, aber leider nichts passendes gefunden. Was ich brauche/suche ist eine batch Formel die 2 txt dateien mit einander vergleicht und wenn ein gleicher Eintrag gefunden wurde. ihn löscht. Aber dies ohne zusatz programme wie SED.
Leider bin ich nur über sehr viele umwege in der lage sowas du machen und das ergebnis ist leider nicht wie gewünscht.

Beispiel:

1.txt mit dem inhalt:
c:\blablabla\datei1.txt
c:\blablabla\datei2.txt
c:\blablabla\datei3.txt

2.txt mit dem inhalt
c:\blablabla\datei1.txt

aus 1.txt wird somit die zeile c:\blablabla\datei1.txt gelöscht und die datei mit dem inhalt
c:\blablabla\datei2.txt
c:\blablabla\datei3.txt
gespeichert.
Mitglied: 60730
13.07.2011 um 20:03 Uhr
moin,

C:\script\test\456>type a.txt 
ab 
cd 
ef 
gh 
C:\script\test\456>type b.txt 
ab 
gh 
C:\script\test\456>
for /f "delims=" %a in (C:\script\test\456\a.txt) do findstr /c:"%a" C:\script\test\456\b.txt || echo %a>>C:\script\test\456\c.txt

C:\script\test\456>type c.txt 
cd 
ef
War nicht wirklich schwer.
Bitte warten ..
Mitglied: DONNobre
13.07.2011 um 20:35 Uhr
Hallo und danke für die schnelle antw.
es sieht einfach aus ist es aber nicht

ich hatte etwas ähnliches probiert aber es ging nicht. jetzt habe ich deinen vorschlag genommen und ihn geändert doch leider bekomme ich eine fehlermeldung

01.
for /f "delims=" %a in ("z:\ergebnis_1.txt") do findstr /c:"%a" "z:\ergebnis_2.txt" || echo %a>>"z:\Ergebnis_neu.txt"

Als fehlermeldung kommt dies

C:\>call :ZeileAndern
"\ergebnis.txt") do findstr /c:"\ergebnis_Send.txt" || echo \Ergebnis_neu.txt""
kann syntaktisch an dieser Stelle nicht verarbeitet werden.

C:\>for /f "delims=" \ergebnis.txt") do findstr /c:"\ergebnis_Send.txt" || echo
\Ergebnis_neu.txt"
er findet also nicht die datei, nehme ich mal so an ... habe das ganze auch schon in mehreren varianten getestet aber leider keinen erfolg gehabt
Bitte warten ..
Mitglied: 60730
13.07.2011 um 20:48 Uhr
Salü,

bitte immer ganze Tiere verfüttern...

C:\>call :ZeileAndern
das steht doch nirgendwo in dem Einzeilerchen...

  • dann ist das eine Demo für die Tante Dosbox, keine Batch

Du schrubst doch, das du schon ganz viel gesucht / gefunden hast %a == Demo für die Dosbox, %%a==batchzeile

btw:
es sieht einfach aus ist es aber nicht

nein ist es und die Zeilen mit hellblauen Hintergrund sind echte copy & paste Daten aus meiner Dosbox.

Gruß
Bitte warten ..
Mitglied: Friemler
13.07.2011 um 21:18 Uhr
Hallo DONNobre,

zusätzlich zu dem, was TiMo schon geschrubt hat - ich werfe Dir mal ein paar Stichworte hin:

FOR /F, Dateiname, Anführungszeichen, USEBACKQ

[EDIT]
Hat sich in Deinem letzten Posting erledigt.
Du solltest die Ausgabeumleitung beim ECHO-Befehl vor den ECHO-Befehl schreiben.

Außerdem ist da ein Anführungszeichen zu viel nach dem Namen der Datei, in der FINDSTR-suchen soll.
[EDIT2]
Du hast nachgebessert!
[/EDIT2]

[/EDIT]

Gruß
Friemler
Bitte warten ..
Mitglied: DONNobre
13.07.2011 um 21:20 Uhr
Hi Timo
klar hatte ich die %a auch schon geändert bzw es damit probiert
hab schneller eine antw. gepostet als es bis zum ende zu formulieren.

dein code klappt auch wunderbar war ein denkfehler von mir .. er wollte admin rechte haben die ich ihm nicht gegeben hatte (man nerven mich diese admin rechte)

habe ihn jetzt mal für batch mit call aufruf hier

01.
for /f "delims=" %%a in (z:\ergebnis.txt) do findstr /c:"%%a" z:\ergebnis_Send.txt || echo %%a>>z:\Ergebnis_neu.txt
Vielen dank
Bitte warten ..
Mitglied: DONNobre
13.07.2011 um 21:27 Uhr
*G* den hatte ich auch gerade korrigiert ....

was ist der unterschied zwischen

01.
echo %%a>>z:\Ergebnis_neu.txt
und
01.
>>z:\Ergebnis_neu.txt echo %%a
kommt nicht beides auf das selbe raus?
Bitte warten ..
Mitglied: Friemler
13.07.2011 um 21:36 Uhr
Sollte man meinen. CMD sieht das anders. Zwischen dem, was in die Datei geschrieben werden soll, und dem >> besser ein Leerzeichen einfügen. Das landet dann aber auch in der Datei. Deshalb Goldene Regel: Die Ausgabeumleitung immer vor den ECHO-Befehl.

Sollte %%a z.B. als letztes Zeichen eine 2 enthalten, wird daraus echo xxx2>>z:\Ergebnis_neu.txt. Dann wird nur der Standardfehlerkanal in die Datei umgeleitet. Da höchstwahrscheinlich kein Fehler auftritt, wird auch nichts in die Datei geschrieben.

Gruß
Friemler
Bitte warten ..
Mitglied: DONNobre
13.07.2011 um 21:49 Uhr
ahhh ok danke bin wieder etwas schlauer
Bitte warten ..
Mitglied: Friemler
13.07.2011 um 21:53 Uhr
Batchscript ist ein Minenfeld.
Bitte warten ..
Mitglied: DONNobre
24.07.2011 um 12:26 Uhr
Ich merke es immer wieder und es nervt
Bitte warten ..
Mitglied: DONNobre
05.08.2011 um 20:52 Uhr
wieso geht es nicht wenn ich
eigene = c:\programme\ftp

01.
FOR /F "tokens=1 delims=" %%i in (%Eigene%\ergebnis.txt) do set ORDNER=%%i & call :app
schreibe. nur wenn ich wirklich ein laufwerk subbe .. ?
Bitte warten ..
Mitglied: 60730
05.08.2011 um 22:53 Uhr
Zitat von DONNobre:
wieso geht es nicht wenn ich
eigene = c:\programme\ftp

01.
FOR /F "tokens=1 delims=" %%i in (z:\ergebnis.txt) do set ORDNER=%%i & call :app

habe das mal hier reingeschriebn

und ich dir mal
Zitat von 60730:
Salü,

bitte immer ganze Tiere verfüttern...

  • deine falschen Codeblöcke hab ich mal richtig herum gesetzt, aber der Rest ist ein Minenfeld....
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
gelöst 2 große TXT Dateien vergleichen und Unterschiede in andere Datei schreiben (6)

Frage von sid.pdm zum Thema Batch & Shell ...

Batch & Shell
gelöst Mittels Batch alle .txt Dateien eines Verzeichnises ändern (10)

Frage von mttspeedy zum Thema Batch & Shell ...

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

Frage von noah1400 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

Exchange Server
DNS Einstellung - zwei feste IPs für Mailserver (15)

Frage von ivan0s zum Thema Exchange Server ...