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

gelöst Inhalt von zwei Ordnern (und Unterordnern) vergleichen

Mitglied: -PzYcO-

-PzYcO- (Level 1) - Jetzt verbinden

12.05.2010, aktualisiert 18.10.2012, 5690 Aufrufe, 9 Kommentare

Problemstellung:
2 Ordner (frei wählbar) sollen miteinander vergleichen werden. Doppelte Dateien sollen in einer Logdatei ausgegeben werden. Der genaue Pfad der Dateien soll angegeben sein. Dateien die den gleichen Namen aber unterschiedliche Eigenschaften haben sollen extra gekennzeichnet werden.

Zur Verfügung steht:
BATCH

Hallo liebe Administratoren,
zu der oben genannten Problemstellung suche ich nun Möglichkeiten das zu realisieren.

01.
SET /P DIR1=Pfad zu Ordner 1: 
02.
SET /P DIR2=Pfad zu Ordner 2: 
03.
SET /P LOG=Pfad für Logfiles: 
04.
 
05.
ECHO Folgende Dateien wurden mehrfach gefunden: >> %LOG%\compare.log 
06.
for /r %DIR1% %%i in (*.*) do call :write1 %%~nxi 
07.
goto eof 
08.
:write1 
09.
if exist %DIR2%\%1 ECHO • %DIR2%\%1 >> %LOG%\compare.log
Das vergleicht zwar schon zwei Ordner, allerdings fehlen noch die Unterordner. Hat jemand eine Idee?

PS: Bitte keine Links zu externen Programmen oder Lösungen mit VB, die Aufgabe lautet "leider" es mit Batch zu realisieren.
Mitglied: LotPings
12.05.2010 um 13:59 Uhr
Tja,

du machst es dir ja auch etwas zu einfach.

Die for /r Schleife geht auch in die Unterordner, aber DU übergibst an die :Sub nur den Namen mit Extension; die dazwischenliegenden Unterordner unterschlägst du.
Übergebe den kompletten Namen %%~fi

und speicherin ihn der sub in einer Variable.
In der variable dann den "Dir1" durch "Dir2" ersetzen, das ist dein Zielname,
CAll set Variable=%%Variable:%Dir1%=%Dir2%%%

Gruß
LotPings

edit: da fehlten noch %-Zeichen
Bitte warten ..
Mitglied: -PzYcO-
25.05.2010 um 09:07 Uhr
Hallo LotPings,

da ich leider nicht genau weiß wohin dieser Teil des Codes gehört wäre ich dir dankbar wenn du den ganzen Codeausschnitt einmal posten könntest.

Danke und Gruß
-PzYcO-
Bitte warten ..
Mitglied: LotPings
25.05.2010 um 11:07 Uhr
Zitat von -PzYcO-:
da ich leider nicht genau weiß wohin dieser Teil des Codes gehört wäre ich dir dankbar wenn du den ganzen
Codeausschnitt einmal posten könntest.

Du bist dir schon darüber im Klaren das es deine Aufgabe ist ?
Du hattest doch jetzt 13 Tage Zeit, darüber nachzudenken / daran zu arbeiten.

Ich hoffe du gibst auch einen Quellenhinweis, denn auch Lehrer können erkennen das es nicht deine "Handschrift" ist.

01.
@Echo off 
02.
CLS 
03.
SET /P DIR1=Pfad zu Ordner 1:  
04.
SET /P DIR2=Pfad zu Ordner 2:  
05.
SET /P LOGP=Pfad für Logfiles:  
06.
(Set LOG=^>^>"%LOGP%.\compare.log") 
07.
 
08.
ECHO Folgende Dateien wurden mehrfach gefunden: %LOG:~1% 
09.
for /r "%DIR1%" %%i in (*.*) do call :write1 "%%~fi" 
10.
More %LOG:~2% 
11.
goto :Eof 
12.
:write1 
13.
Set "Zieldatei=%~1" 
14.
CAll set Zieldatei=%%Zieldatei:%Dir1%=%Dir2%%% 
15.
If Not exist "%Zieldatei%" goto :eof 
16.
%LOG% ECHO • %~1 
17.
%LOG% ECHO • %Zieldatei% 
18.
For %%A in (%Zieldatei% 
19.
  ) do Set "Attr=%%~aA"&Set "Size=%%~zA"&Set "DaTi=%%~tA" 
20.
If "%~a1" NEQ "%Attr%" %LOG% Echo abw. Attribute %~a1  %Attr% 
21.
If "%~z1" NEQ "%Size%" %LOG% Echo abw. Groesse   %~z1  %Size% 
22.
If "%~t1" NEQ "%DaTi%" %LOG% Echo abw. DatumZeit %~t1  %DaTi%
Gruß
LotPings

Edit: verlorenes "(" eingesetzt
@Biber, Da unterschätzt du meine Fähigkeit im Codelesen (auch nach 1 Jahr).
Ich hasse geradezu tot kommentierten Code; da kann man keine Strukturen mehr erkennen.
Bitte warten ..
Mitglied: Biber
25.05.2010 um 11:58 Uhr
Moin Psycho,

und noch ein weiterer freundlicher Hinweis ergänzend zu LotPings'
Zitat von LotPings:
Ich hoffe du gibst auch einen Quellenhinweis, denn auch Lehrer können erkennen das es nicht deine "Handschrift" ist.
Sollte ich mal wieder im Rahmen einer Projektwoche etwas Sensibilität für Codequalität an einer Schule schaffen wollen...
--> ein Codeschnipsel ohne jegliche Kommentierung kann niemals besser als "ausreichend" bewertet werten.
Obwohl LotPings durchaus "selbst erklärende" Variablennamen verwendet hat und der Schnipsel keine zwei Dutzend Zeilen lang ist,
wird selbst er, wenn er seinen eigenen Code in einem halben Jahr anpassen muss, alles erst vierfach lesen müssen,
bevor er ein "Ach ja, so hatte ich das gedacht.." von sich gibt.

Wenn dein Lehrer sich etwas bei der Aufgabe gedacht hat, dann wird er zwar die formale Lösung ("Schnipsel tut, was er soll") gewichten mit 60%, aber eine strukturierte und nachvollziehbare Herangehensweise und handwerkliche Sorgfalt eben auch mit 40%.

Grüße
Biber

[Edit]
@LotPings
@Biber, Da unterschätzt du meine Fähigkeit im Codelesen (auch nach 1 Jahr).
Nach meinen Beobachtungen gibt es aber auch einen Unterschied zwischem "eigenen Code wieder nachvollziehen können" und "fremden Code ohne Kommentare verstehen können".
(Abschreckende) Extrembeispiele sind doch immer wieder diese Taschenspielertrick-Codefragmente in den Tankstellen-PC-Zeitschriften....boah..wunderbar kurz, wunderbar geheim und so undokumentiert, dass es fast schon illegal ist. Ja hey! Arbeiten wir Administratoren mehr auf Produktivsystemen oder ausschließlich im Internetcafe?
Ich hasse geradezu tot kommentierten Code; da kann man keine Strukturen mehr erkennen.
Dir ist aber auch noch in Erinnerung, dass zum Beispiel Mathelehrer sehr selten damit zufrieden sind, wenn unter einer Klausuraufgabe zur Volumenberechnung eines load of bollocks einfach nur "3,378 Kubikmeter" ohne nähere Erläuterung geschrieben steht.?

Außerdem...genau genommen habe ich bei keinem der hier aktiven Codeschroter richtige Angst, dass die etwas tot kommentieren könnten.
Okay, wenn die vielleicht so 370 bis 380 Jahre Zeit dafür hätten....
[/Edit]
Bitte warten ..
Mitglied: bastla
25.05.2010 um 17:08 Uhr
[OT]
@Biber
genau genommen habe ich bei keinem der hier aktiven Codeschroter richtige Angst, dass die etwas tot kommentieren könnten.
Ich hatte gedacht, nur Du "schrotest" ...

Grüße
bastla (der sich sowas von in keinster Weise überhaupt gar nicht angesprochen fühlt - und sonst eigentlich nicht zum Lügen neigt ...)
[/OT]
Bitte warten ..
Mitglied: Biber
25.05.2010 um 17:15 Uhr
[OT] @bastla
Zitat von bastla:
Grüße
bastla (der sich sowas von in keinster Weise überhaupt gar nicht angesprochen fühlt ... )
Ich habe neulich auf einem meiner Rechner ein paar Dateien mit der Endung *.bkf gesehen....
Aber keine drei Hunderstel Sekunden überlegt, ob es Dateien in bastlas Kommentar-Format sein könnten...
..die waren alle größer als 0 Byte....

Grüße
Biber
[/OT]
Bitte warten ..
Mitglied: LotPings
25.05.2010, aktualisiert 18.10.2012
Zitat von Biber:
Außerdem...genau genommen habe ich bei keinem der hier aktiven Codeschroter richtige Angst, dass die
etwas tot kommentieren könnten.

Ich bin ja mit all dem einverstanden
Ich habe auch weniger an die Aktiven gedacht, die haben da eh keine für, sondern z.Bsp. an sowas ohne den Autor jetzt besonders hervorheben zu wollen.

Ansonsten gelobe ich Besserung (wenn ich mal Zeit habe)

Gruß
LotPings
Bitte warten ..
Mitglied: Biber
25.05.2010, aktualisiert 18.10.2012
Moin Lordchen,

Zitat von LotPings:
Ich habe auch weniger an die Aktiven gedacht [...],sondern z.Bsp. an sowas ohne den Autor jetzt besonders hervorheben zu wollen.

Jessas! Den Beitrag habe ich heute zum ersten Mal gelesen... und verstehe, was Du meinst. *Luft schnapp*
Es gibt auch für mich Codeschnipsel, bei denen ich nach wenigen Zeilen nur noch den Wunsch verspüre, sofort zu erblinden und für immer das Gedächtnis zu verlieren.
Um es mal vorsichtig auszudrücken.

Aber es ist doch gut, dass wir mal hin und etwas OffTopic (oder eigentlich ganzheitlich) querposten...
... sonst wären solche kleinen Schätze wie dein Link für immer verloren...

Danke
Biber
Bitte warten ..
Mitglied: -PzYcO-
26.05.2010 um 11:45 Uhr
Ich glaube ich wurde hier missverstanden. Ich wollte nicht den gesamten Code sondern lediglich wissen an welcher Stelle der komplette Dateiname übergeben werden sollte, da ich nicht wusste was er meinte.

LotPings:
Die for /r Schleife geht auch in die Unterordner, aber DU übergibst an die :Sub nur den Namen mit Extension; die dazwischenliegenden Unterordner unterschlägst du.
Übergebe den kompletten Namen %%~fi

Ich habe das Problem aber inzwischen lösen können.
Trotzdem danke für eure Bemühungen!

PzYcO
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch Ordner und Unterordner vergleichen
gelöst Frage von SPSmanBatch & Shell2 Kommentare

Hallo an alle, Ich suche nach einer Batchfunktion die mir Ordner und Unterordner Vergleicht und bei Ungleichheit das Archivbit ...

Batch & Shell
Powershell zwei Ordner vergleichen
gelöst Frage von Rabauke84Batch & Shell2 Kommentare

Hallo zusammen, ich hab folgendes Problem: Unter meinem Profilordner (oberste Ebene) gibt es ca 140 Ordner mit den Namen ...

Batch & Shell

Powershell Inhalt von TXT Dateien in zwei Ordnern vergleichen und bei Unstimmigkeit löschen

gelöst Frage von Frank2017Batch & Shell12 Kommentare

Hallo! Möchte mit Powershell den Inhalt von txt Dateien in zwei Ordnern vergleichen und bei Unstimmigkeit löschen. 1. Ordner ...

Batch & Shell

PowerShell zwei Array mit unterschiedlichem Inhalt vergleichen

Frage von derhoeppiBatch & Shell7 Kommentare

Hallo, folgende Aufgabe muss ich in einem Skript zur Administration eines Storagesystems lösen. Mit einem Befehl lese ich die ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Tipp von hardykopff vor 10 MinutenWindows 10

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 2 StundenAdministrator.de Feedback8 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 20 StundenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 1 TagGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware17 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...