Top-Themen

Aktuelle Themen (A bis Z)

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

Dateiverzeichnisse via Batch vergleichen und in Textdatei schreiben

Mitglied: Franzmann

Franzmann (Level 1) - Jetzt verbinden

09.02.2010 um 11:21 Uhr, 5875 Aufrufe, 12 Kommentare

Hallo zusammen,
lang ists her aber ich hoffe mir kann trotzdem noch geholfen werden ;)

Hab folgendes vor.
Ich will 2 Dateiverzeichnisse vergleichen (also sämtliche darin befindlichen Dateien)
Die Dateien die gleich sind, die unterschiedlich sind oder gar in einem Verzeichnis fehlen, sollen jeweils in eine Textdatei geschrieben werden.

Mein Ansatz siehts so aus:
@ECHO OFF

SET LOCALFOLDER=C:\temp
SET OTHERFOLDER=C:\temp1

:LOCALKEYTEMP

SET FILE=DONE



FOR /F "TOKENS=*" %%G IN ('DIR/B ^"%LOCALFOLDER%\*.*^"') DO SET FILE=%%G
ECHO %FILE%

IF %FILE%==DONE GOTO END
ECHO COMP "%LOCALFOLDER%\%FILE%" "%OTHERFOLDER%\%FILE%" | FIND "FILES COMPARE OK" > NUL


:: echo (0) Fehlerfreier Lauf, Dateien sind identisch
:: echo (1) Unterschiedliche Dateien gefunden
:: echo (2) Dateifehler, Datei nicht vorhanden
IF ERRORLEVEL 0 GOTO :NOFAILURE
IF ERRORLEVEL 1 GOTO :DIFFERENTFILES
IF ERRORLEVEL 2 GOTO :NOTAVAILABLE


:NOFAILURE
ECHO N|COMP "%LOCALFOLDER%\%FILE%" "%OTHERFOLDER%\%FILE%" >> C:\overview\nofailure.txt
GOTO LOCALKEYTEMP


:DIFFERENTFILES
ECHO N|COMP "%LOCALFOLDER%\%FILE%" "%OTHERFOLDER%\%FILE%" >> C:\overview\differentfiles.txt
GOTO LOCALKEYTEMP

:NOTAVAILABLE
ECHO N|COMP "%LOCALFOLDER%\%FILE%" "%OTHERFOLDER%\%FILE%" >> C:\overview\notavailable.txt
GOTO LOCALKEYTEMP

:END
EXIT

Jetzt hab ich das Problem das er aber nur in einem Ordner sucht und das in einer Endlosschleife...
Das Ergebnis schreibt er in die nofailure.txt !

Hoffe jemand kann mir helfen.. thx so far
Mitglied: iVirusYx
09.02.2010 um 12:55 Uhr
Ich bin jetzt kein Programmierer, habe grade erst angefangen damit, aber legst du da die FOR-Schleife nicht auf den einen Ordner?
Und wiederholst hiermit immer wieder den Durchgang durch den einen Ordner.

Gibt es beim "batchen" keine Schleifen wie "DO UNTIL" oder so?

Sorry Bin wirklich ein Programmieranfänger
Bitte warten ..
Mitglied: Franzmann
09.02.2010 um 13:15 Uhr
Zitat von iVirusYx:
Ich bin jetzt kein Programmierer, habe grade erst angefangen damit, aber legst du da die FOR-Schleife nicht auf den einen Ordner?
Und wiederholst hiermit immer wieder den Durchgang durch den einen Ordner.
Ich auch nicht ;) ! Es gibt nur die eine Schleife weil die sich wiederholen soll und anhand des Errorlevels ausgewertet, sprich in die jeweilige Datei geschrieben, werden soll.
Gibt es beim "batchen" keine Schleifen wie "DO UNTIL" oder so?
Doch gibt es...

Sorry Bin wirklich ein Programmieranfänger
Viel mehr bin ich auch nicht. Aber ist doch kein Problem, bin für alle Anregungen dankbar ;)
Bitte warten ..
Mitglied: 60730
09.02.2010 um 14:00 Uhr
Servus,

ich würde das ganze (je nach den Dateien) anders anfangen.

Pro datei ein Comp / fc kann ganz schön lange und graue Bärte verursachen.

Ein
01.
xcopy quelle\*.* ziel\ /d /L |find "\" >dateiliste.txt
liefert da schon etwas mehr in kürzerer Zeit ab.

Von daher eher in den Ansatz mehr Zeit investieren - denn der obere steckt foller vehler ;-(

Gruß
Bitte warten ..
Mitglied: Franzmann
09.02.2010 um 14:13 Uhr
Zitat von 60730:
Servus,

ich würde das ganze (je nach den Dateien) anders anfangen.

Pro datei ein Comp / fc kann ganz schön lange und graue Bärte verursachen.

Ein
01.
> xcopy quelle\*.* ziel\ /d /L |find "\" >dateiliste.txt 
02.
> 
liefert da schon etwas mehr in kürzerer Zeit ab.
Ok sehe ich u.U. ein.
Wenn ich 2 Verzeichnisse mit Musterdateien anlege wird zwar die "dateiliste.txt" angelegt aber sie bleibt leer.
Einen Fehler bekomme ich am CMD Prompt auch nicht.

Von daher eher in den Ansatz mehr Zeit investieren - denn der obere steckt foller vehler ;-(
Inwiefern ?

Gruß
Bitte warten ..
Mitglied: 60730
09.02.2010 um 14:21 Uhr
Zitat von Franzmann:
> Zitat von 60730:
> ----
> Servus,
>
> ich würde das ganze (je nach den Dateien) anders anfangen.
>
> Pro datei ein Comp / fc kann ganz schön lange und graue Bärte verursachen.
>
> Ein
>
01.
> > xcopy quelle\*.* ziel\ /d /L |find "\" >dateiliste.txt 
02.
> > 
> liefert da schon etwas mehr in kürzerer Zeit ab.
Ok sehe ich u.U. ein.
Wenn ich 2 Verzeichnisse mit Musterdateien anlege wird zwar die "dateiliste.txt" angelegt aber sie bleibt leer.

.. und was passiert, wenn alles nach dem-inclusive dem > weggelassen wird?
... bzw: im 2. Stepp das |find "\", dass dazu da ist die xxDatei(en) kopiert Zeile auszublenden?
Einen Fehler bekomme ich am CMD Prompt auch nicht.
>
> Von daher eher in den Ansatz mehr Zeit investieren - denn der obere steckt foller vehler ;-(
Inwiefern ?

naja...
SET FILE=DONE
FOR /F "TOKENS=*" %%G IN ('DIR/B ^"%LOCALFOLDER%\*.*^"') DO SET FILE=%%G
IF %FILE%==DONE GOTO END

da mag ich nicht wirklich drüber weiterschnacken
Gruß
zurück
Bitte warten ..
Mitglied: Franzmann
09.02.2010 um 14:33 Uhr
xcopy quelle\*.* ziel\ /d /L |find "\" >dateiliste.txt
dateiliste.txt wird angelegt ist aber leer !
.. und was passiert, wenn alles nach dem-inclusive dem > weggelassen wird?
Nichts ! Kein Fehler aber auch kein Ergebnis..
... bzw: im 2. Stepp das |find "\", dass dazu da ist die xxDatei(en) kopiert Zeile auszublenden?
0 Datei(en) kopiert
naja...
> SET FILE=DONE
> FOR /F "TOKENS=*" %%G IN ('DIR/B ^"%LOCALFOLDER%\*.*^"') DO SET FILE=%%G
> IF %FILE%==DONE GOTO END
hmm
da mag ich nicht wirklich drüber weiterschnacken
na denn
Bitte warten ..
Mitglied: 60730
09.02.2010 um 14:53 Uhr
??
Nichts ! Kein Fehler aber auch kein Ergebnis..
0 Datei(en) kopiert
... jetzt ist die Frage - worin Unterscheiden sich denn Quell und Zieldateien im Test und ist der Test auch das, was im "produktiveinsatz" erwartet wird?

hmm
Hör mir auf mit hmm

du kannst doch niicht zuerst etwas statisch setzen, danach in einer schleife wieder neu setzen und nachdem die schleife abgearbeitet wurde erwarten, das die erstbesetzung wieder gilt?

Die Schleife arbeitet doch solange, bis nix mehr in der Schleife drin ist......
Bitte warten ..
Mitglied: Franzmann
09.02.2010 um 15:09 Uhr
0 Datei(en) kopiert
... jetzt ist die Frage - worin Unterscheiden sich denn Quell und Zieldateien im Test und ist der Test > auch das, was im "produktiveinsatz" erwartet wird?
In der Anzahl der Dateien und bei diversen Dateien auch an der Größe.
du kannst doch niicht zuerst etwas statisch setzen, danach in einer schleife wieder neu setzen und > nachdem die schleife abgearbeitet wurde erwarten, das die erstbesetzung wieder gilt?
Die Schleife arbeitet doch solange, bis nix mehr in der Schleife drin ist......
Bin leider kein Programmierer und habs mir zusammengetragen !
Bitte warten ..
Mitglied: 60730
09.02.2010 um 16:49 Uhr
Zitat von iVirusYx:
Sorry Bin wirklich ein Programmieranfänger
das soll man ja bekanntlich ändern können...

Nur was willst du denn als Anfang "programmieren"?

Soll das ein Synctool werden? ->in beide Richtungen?
In der Anzahl der Dateien und bei diversen Dateien auch an der Größe.
ja nee iss klar - geht ein bisschen ungenauer?

Gruß
Bitte warten ..
Mitglied: Franzmann
09.02.2010 um 17:00 Uhr
Zitat von 60730:
> Zitat von iVirusYx:
> ----
> Sorry Bin wirklich ein Programmieranfänger
das soll man ja bekanntlich ändern können...
Haste mal gesehen von wem das ist ?

Nur was willst du denn als Anfang "programmieren"?
Ich will einfachnur 2Verzeichnisse auf unterschiedliche Datenbestände hin prüfen.

Soll das ein Synctool werden? ->in beide Richtungen?
Nee...
> In der Anzahl der Dateien und bei diversen Dateien auch an der Größe.
ja nee iss klar - geht ein bisschen ungenauer?
Wo ist das Problem ?
Bringts dir was wenn ich 6 gleiche (Name und Größe) txt Dateien habe, 4 unterschiedliche (Name gleich, Größe unterscheidlich), und meinetwegen 1 Datei ist nur in einem Verzeichnis vorhanden ?
Wenn ja, dann tuts mir Leid...
Gruß
Bitte warten ..
Mitglied: 60730
09.02.2010 um 17:06 Uhr
Wenn ja, dann tuts mir Leid...

find ich nun aber wirklich tragisch und ich tu mir dann auch selber leid....

Um dir bei deinem Problem helfen zu können, muß man wissen - wo der Schuh drückt.
Aber nein - mir bringts nix...
Dateiverzeichnisse via Batch vergleichen und in Textdatei schreiben
War deine Überschrift und einen Ansatz dazu hab ich dir geliefert, aber ich glaub ich setze mich mal lieber wieder ab...
Bitte warten ..
Mitglied: Franzmann
10.02.2010 um 08:17 Uhr
Ich lass das jetzt einfach mal so stehen.
Es ging mir um Hilfe und nicht um Belehrungen irgendwelcher Art.
Ansätze ? Sachen schlecht reden kann jeder, aber auch konstruktiv sagen was Mist ist,
wie mans besser machen kann, das kannste ja anscheinend auch nicht und hätte mir mehr gebracht...
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Textdateien vergleichen BATCH
gelöst Frage von FeudelFredBatch & Shell2 Kommentare

Moin Moin, ich bin komplett neu im Forum und habe auch keine sonderlich großen Erfahrungen mit Foren. Habe eine ...

Batch & Shell

Zahlen aus Textdatei in Batch vergleichen

gelöst Frage von yspke24Batch & Shell7 Kommentare

Hi, ich habe schon stundenlang im Internet gesucht, konnte aber nichts Passendes finden. Ich habe eine Textdatei "time.log". In ...

Batch & Shell

Einen Pfeil in eine textdatei mit batch Schreiben

gelöst Frage von johannes0073Batch & Shell2 Kommentare

Ich stehe vor dem Problehm das ich mit batch datei 1 batch datei 2 Schreiben will das proplehm ist ...

Batch & Shell

Wie kann ich Textdateien mit powershell vergleichen?

Frage von MaxSchubert22Batch & Shell1 Kommentar

Hallo Ich bräuchte ein Powershellskript das Textdateien miteinander vergleicht. Also wenn z. B. in Textdatei 1 "a, b, c ...

Neue Wissensbeiträge
Server-Hardware
HP iLO ist gefährdet (iLO 4))
Tipp von AlFalcone vor 10 StundenServer-Hardware1 Kommentar

Gemäss Twitter und Heise gibt es eine Angriffsmöglichkeit auf iLO Quelle: iLO ist gefährdet

CMS
Erneut kritische Zero-Day-Lücke in Drupal
Tipp von Reini82 vor 19 StundenCMS

Laut einem Bericht auf t3n gibt es eine Schwere Sicherheitslücke in Drupal die auch schon ausgenutzt wird. Betroffen sind ...

Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 1 TagSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 1 TagWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

Heiß diskutierte Inhalte
Ausbildung
Wie gelingt ein guter Einstieg in die FiSi-Ausbildung? (Umschulung)
Frage von SiAnKoAusbildung30 Kommentare

Schönen guten Tag, ich bin SiAnKo und habe seit dem 1.04.2018 eine Umschulung als FiSi angefangen. Ich möchte natürlich ...

Windows Server
Alten DC entfernen
gelöst Frage von smartinoWindows Server27 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...

Batch & Shell
OU an eine Variable übergeben
gelöst Frage von oesi1989Batch & Shell22 Kommentare

Hallo, ich würde gerne alle OUs an eine Variable übergeben und danach einen Teil per .remove entfernen. Das Anzeigen ...

Batch & Shell
Mit Powershell den Inhalt einer Excel mit einer Text Datei abgleichen
gelöst Frage von Bommi1961Batch & Shell21 Kommentare

Hallo zusammen, ich muss den Inhalt einer Excel Datei (Mappe1) mit dem Daten einer Text Datei abgleichen. Die Daten ...