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

Frage Entwicklung Batch & Shell

Dateiverzeichnisse via Batch vergleichen und in Textdatei schreiben

Mitglied: Franzmann

Franzmann (Level 1) - Jetzt verbinden

09.02.2010 um 11:21 Uhr, 5859 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
Dateierweiterungen in eine Textdatei schreiben
gelöst Frage von joe65Batch & Shell3 Kommentare

Hallo, ich hab nach längerer Zeit wieder mal ein Batch-Problem. Ich möchte alle Dateierweiterungen (txt, docx, jpg, etc.) die ...

Batch & Shell
Textdatei zeilenweise in Variable schreiben
gelöst Frage von goodbytesBatch & Shell20 Kommentare

Hallo, mit einer Batch möchte ich mehrere Laufwerke mappen, abhängig vom Usernamen. Klar könnte ich auch für jeden User ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 20 StundenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 1 TagTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 1 TagSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 1 TagSicherheit9 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Sicherheit
Meltdown und Spectre: Die machen uns alle was vor
Information von FrankSicherheit25 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Netzwerke
Packet loss bei "InternetLeitungsvollauslastung"
gelöst Frage von Freak-On-SiliconNetzwerke17 Kommentare

Servus; Ja der Titel klingt komisch, is aber so. Wenn die Internetleitung voll ausgelastet ist, hab ich extreme packet ...

Ubuntu
Ubuntu - Starter für nicht vertrauenswürdige Anwendungen
Frage von adm2015Ubuntu17 Kommentare

Hallo zusammen, Ich verwende derzeit die Ubuntu Versionen 17.10 bzw. im Test 18.04. Ich habe mehrere .desktop Dateien in ...

Windows 10
Automatische daten kopieren, USB zu USB unter Win10 im Hintergrund
Frage von DerEisigeWindows 1016 Kommentare

Hallo Leute, ich bin auf der Suche nach einem Skript, dass von einem USB Stick automatisch nach dem einstecken ...