Microsoft MVPs inside





 MCSEboard.de – IT Pro Forum zu Windows Server 2008 R2 / 2008 / 2003 & Windows 7 / Vista / XP
Registrieren Hilfe Regeln Benutzerliste Suchen Heutige Beiträge Alle Foren als gelesen markieren

Windows Forum — Scripting


Alles zum Thema System Administration Scripting — Q & A zum Thema Scripting: Batch, VBS, WMI, PowerShell


Antwort
     
Themen-Optionen
Alt 02.06.2008, 13:38   #1
Newbie
 
Offline
Registriert seit: 08-2007
Beiträge: 22
Batch: Auffinden von doppelten Dateien, Vergleich der gefundenen Dateien

Hallo allesamt,

folgende Problematik:

Ich versuche derzeit ein Batch-Script zu bauen, mit dem ich auf doppelte Dateien überprüfen kann.

Das Script soll im Endeffekt zu folgenden Aktionen in der Lage sein:


- Abgleich auf doppelte Dateien innerhalb des Verzeichnisses C:\TJ1\
- Abgleich auf doppelte Dateien innerhalb des Verzeichnisses C:\TJ2\
- Abgleich auf doppelte Dateien innerhalb der Verzeichnisse C:\TJ1 UND C:\TJ2

- Kennzeichnung von Dateien mit gleichem Namen aber unterschiedlichen Eigenschaften (checksum, Größe, o.a. - Je nach Bedarf).

Punkt zwei habe ich folgendermaßen gelöst:

Code:
for /r C:\tj1\ %%I in (*.*) do (
  for /r C:\tj2\ %%J in (*.*) do (
    if %%~nxI.==%%~nxJ. (
	echo %%I sowie %%J
      )
   )
)
Was mir momentan etwas Kopfschmerzen bereitet ist Punkt eins - Ich krieg es zwar hin, das Verzeichnis zu vergleichen, jedoch erhalte ich doppelte Ausgaben (z. B. C:\tj1\datei.1 sowie C:\tj1\blub\datei.1 // C:\tj1\blub\datei.1 sowie C:\tj1\datei.1).

Gibt es eine alternative Möglichkeit Dateien innerhalb eines Verzeichnisses (inkl. Subdirs) zu vergleichen (z. B. von einer Liste aus nach unten abarbeiten?) ohne das man Duplikate erhält?

Des Weiteren hatte ich bzgl. Überprüfung Unterschiedlichen Eigenschaften an die checksum gedacht - gibt es da in der cmd-shell schon eine integrierte Funktion?

Ich bin für Vorschläge und Anregungen offen !

Danke im Vorraus.

PS: Ja, ich weiß, es lässt sich auch super in VBS realisieren, aber das ist momentan nicht Ziel der ganzen Sache .
    Mit Zitat antworten
Alt 04.06.2008, 09:25   #2
Newbie
 
Offline
Registriert seit: 08-2007
Beiträge: 22
Ist mittlerweile gelöst.

Ist vom Prinzip her recht "simpel".

Der Code sieht im Endeffekt so aus:

Code:
Set "yat2=dir2.txt"
Echo\>"%yat2%"
for /R %dir2% %%J in (*.*) do (	
 for /R %dir2% %%I in (*.*) do (
  if "%%~nxJ"=="%%~nxI" (
    if "%%J" neq "%%I" (
	 FindStr /i /C:"%%I" "%yat2%">nul || echo %%J sowie %%I>>"%yat2%"
    )
  )
 )
)
Sprich die gesamten Ausgaben in eine LOG-Datei umleiten und diese dann mit FindStr auf den entsprechenden Wert überprüfen. Geht bestimmt mit anderen Programmen einfacher, aber evtl. brauchts ja mal jemand.

Falls noch Fragen auftauchen, einfach melden ;-)!
    Mit Zitat antworten
Antwort


Themen-Optionen


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
*.rtf Dateien via Batch erzeugen nerd Windows Forum — Allgemein 12 22.06.2006 20:08
EFS Dateien auffinden und sichern a.jakob Windows Server Forum 4 28.03.2006 09:55
Abfragen von leeren Dateien in Batch-Dateien Gyal Windows Forum — Allgemein 2 31.12.2005 00:46
Batch dateien vanthe_man Windows Forum — Allgemein 2 23.03.2004 13:17
Batch-Dateien (unter DOS ;-() alias Windows Forum — Allgemein 7 16.10.2003 19:56


Alle Zeitangaben in MEZ/CET. Es ist jetzt 15:05 Uhr. Seite generiert in 0,027 Sekunden.

- Unsere Partner -

Copyright © 2000 – 2012 MCSEboard.de

Sprung zum Seitenanfang