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

Ordner Inhalte vergleichen

Frage Entwicklung Batch & Shell

Mitglied: tommhii

tommhii (Level 1) - Jetzt verbinden

12.07.2010, aktualisiert 18.10.2012, 5960 Aufrufe, 19 Kommentare

ich möchte 2 Ordner vergleichen in den beiden Ordnern befinden sich rtf Dateien.

Hallo,
ich möchte aus 2 Ordnern (Test1und Test2) Dateien (.rtf) mit gleichen Namen rausfiltern diese in ein Log schreiben und anschließend die doppelte Datei in einen dritten Ordner kopieren. Hat jemand eine Idee wie man dies lösen kann .

Danke
Gruß Tommhii
Mitglied: 91820
12.07.2010 um 15:31 Uhr
Ich nehme an, dass du Windows XP oder 7 hast und du schon an die "Suchen" Funktion gedacht hast? *g*
Bitte warten ..
Mitglied: tommhii
12.07.2010 um 15:35 Uhr
ja danke für den Tip hab ich schon getan aber nix passendes gefunden.

ich habe windows xp
Bitte warten ..
Mitglied: 91820
12.07.2010 um 15:38 Uhr
Was heisst nicht passendes gefunden?
Wenn du 2 Ordner hast mit rtf Dateien, dann haben diese Dateien doch alle unterschiedliche Namen!
Wenn du den Namen deiner gesuchten Datei in die Suchmaske eintippst müsste er Sie doch finden??? Wo ist das Problem?
Wie viele Dateien sind denn in jedem Ordner enthalten?
Bitte warten ..
Mitglied: GunterR
12.07.2010, aktualisiert 18.10.2012
Bitte warten ..
Mitglied: LotPings
12.07.2010 um 15:46 Uhr
Hallo Tommhii,
Da ja nicht klar ist ob die beiden Dateien Identisch sind, welche willst du denn kopieren?
01.
@Echo ff 
02.
Set Dir1=D:\Test 
03.
Set Dir2=D:\Test\2 
04.
Set Ext=.rtf 
05.
Set Dest=X:\Pfad 
06.
Set "Log=%UserProfile%\Your.Log" 
07.
Pushd "%Dir1%" 
08.
For /f "delims=" %%A in ('Dir /B/A-D "*%Ext%" ') Do If Exist "%Dir2%\%%~nxA" ( 
09.
  >>%Log% Echo.Doppelt: %%~nxA 
10.
  Copy "%%~fA" "%Dest%\" 
11.
12.
PopD
(Only braintested.)

Gruß
LotPings
Bitte warten ..
Mitglied: tommhii
12.07.2010 um 15:58 Uhr
Zitat von 91820:
Was heisst nicht passendes gefunden?
Wenn du 2 Ordner hast mit rtf Dateien, dann haben diese Dateien doch alle unterschiedliche Namen!
Wenn du den Namen deiner gesuchten Datei in die Suchmaske eintippst müsste er Sie doch finden??? Wo ist das Problem?
Wie viele Dateien sind denn in jedem Ordner enthalten?

okay hab es vielleicht formuliert ich möchte das automatisiert mit Hilfe eines Dos Batch tun.
- ich befülle die Ordner mit ca 200 Dateien täglich mit Filetransfer und um auszuschließen das ich eine Datei doppelt habe möchte ich eine batch starten die dies mir tut und mir mittels einer Log Datei , die Datei mit dem gleichen Namen anzeigt.
die Dateinamen haben folgendes Schema Ordner 1: xxxxxxxVOxxxxxxx.rtf (x -> Numerisch) Ordner 2: xxxxxxxVRxxxxxxx.rtf
-doppelte Datei wärez.B. 1111111VR2222222.rtf
1111111VO2222222.rtf bei dem Vergleich der Dateien soll das VO und VR nicht berücksichtigt werden.

Gruß Tommhii
Bitte warten ..
Mitglied: tommhii
12.07.2010 um 16:00 Uhr
Ich hänge die Antwort nochmal hier unten ran bin da etwas verrutscht mit meiner Antwort

okay hab es vielleicht formuliert ich möchte das automatisiert mit Hilfe eines Dos Batch tun.
- ich befülle die Ordner mit ca 200 Dateien täglich mit Filetransfer und um auszuschließen das ich eine Datei doppelt habe möchte ich eine batch starten die dies mir tut und mir mittels einer Log Datei , die Datei mit dem gleichen Namen anzeigt.
die Dateinamen haben folgendes Schema Ordner 1: xxxxxxxVOxxxxxxx.rtf (x -> Numerisch) Ordner 2: xxxxxxxVRxxxxxxx.rtf
-doppelte Datei wärez.B. 1111111VR2222222.rtf
1111111VO2222222.rtf bei dem Vergleich der Dateien soll das VO und VR nicht berücksichtigt werden.

kopieren möchte ich die doppelte Datei aus dem 2. Ordner (Test 2)

Gruß Tommhii
Bitte warten ..
Mitglied: LotPings
12.07.2010 um 16:25 Uhr
Das ist aber ein recht wichtiges Detail das du da unterschlagen hattest.
Ich gehe mal davon aus das in Ordner1 nur Vo und in Ordner2 nur VR vorkommt.

01.
@Echo off 
02.
Set Dir1=D:\Test 
03.
Set Dir2=D:\Test\2 
04.
Set Ext=.rtf 
05.
Set Dest=X:\Pfad 
06.
Set "Log=%UserProfile%\Your.Log" 
07.
Pushd "%Dir1%" 
08.
For /f "delims=" %%A in ( 
09.
  'Dir /B/A-D "*%Ext%" ' 
10.
    ) Do Set "File=%~nxA" & Call :ProcFile ||( 
11.
  >>%Log% Echo.Doppelt: %%~nxA 
12.
  Copy "%%~fA" "%Dest%\" 
13.
14.
PopD 
15.
Goto :Eof 
16.
:ProcFile 
17.
If Exist "%Dir2%\%File:VO=VR%" Exit /B 1
Ebenfalls nur braintested

Gruß
LotPings
Bitte warten ..
Mitglied: LotPings
12.07.2010 um 16:53 Uhr
Ich mach mal die Ingrid

Sorry hab den letzten Absatz zu spät gelesen, das du den VR kopieren willst.

01.
@Echo off 
02.
Set Dir1=D:\Test\1 
03.
Set Dir2=D:\Test\2 
04.
Set Ext=.rtf 
05.
Set Dest=D:\Test\3 
06.
Set Log="%~dpn0.Log" 
07.
Pushd "%Dir1%" 
08.
For /f "delims=" %%A in ( 
09.
  'Dir /B/A-D "*%Ext%" ' 
10.
    ) Do Set "File=%%~nxA" & Call :ProcFile 
11.
PopD 
12.
Goto :Eof 
13.
:ProcFile 
14.
Set "VRFile=%Dir2%\%File:VO=VR%"  
15.
If Not Exist "%VRFile%" Goto :Eof 
16.
>>%Log% Echo.Doppelt: "%VRFile%" 
17.
Copy "%VRFile%" "%Dest%\"
Gruß
LotPings

Fehlendes % Zeichen nachgereicht , Pfade geändert und getestet - funktioniert.
Bitte warten ..
Mitglied: tommhii
12.07.2010 um 16:55 Uhr
ja sorry ,hab das wohl nicht am Anfang gleich so detaliert beschrieben
richtig Ordner 1 enthält nur VO Dateien und Ordner 2 enthält VR Dateien

Gruß Tommhii
Bitte warten ..
Mitglied: Biber
12.07.2010 um 17:08 Uhr
[OT]

Zitat von tommhii:
ja sorry ,hab das wohl nicht am Anfang gleich so detaliert beschrieben
Jo.... möglicherweise...
Falls es dir entfallen sein sollte seit damals - die erste Spezifikation sah so aus:

Zitat von tommhii:
ich möchte aus 2 Ordnern (Test1und Test2) Dateien (.rtf) mit gleichen Namen rausfiltern diese in ein Log schreiben und anschließend die doppelte Datei
in einen dritten Ordner kopieren. Hat jemand eine Idee wie man dies lösen kann .

Dafür, dass das ganze Szenario anderthalb Stunden jung ist hat es sich schon schnell weiterentwickelt.
Das ist ja, als würde eine politische Splitterpartei vor der Wahl ihr gesamtes Programm zusammenfassen in eine Hauptschul-Blase "Mehr Netto vom Brutto"
und nach der Wahl erstmal diesen Satz jahrelang von einem internationalen Expertengremium auf Steuerzahlerkosten analysieren lassen.


@LotPings
Ich weiss nicht, ob ich so hochdeutsch wie du reagiert hätte mit "Das ist aber ein recht wichtiges Detail das du da unterschlagen hattest.".
Ich wäre vermutlich ausgetickt an so einem Montag.

Grüße
Biber
[/OT]
Bitte warten ..
Mitglied: GunterR
12.07.2010 um 17:14 Uhr
@Biber

Ich glaube ich wähle dann doch keine Splitterpartei

Gruß
Gunter
Bitte warten ..
Mitglied: Biber
12.07.2010 um 17:20 Uhr
[Re. OT]

Moin GunterR,

Zitat von GunterR:
@Biber

Ich glaube ich wähle dann doch keine Splitterpartei
War doch nur ein total an den Haaren herbeigezogenes Beispiel - so was Dreistes gibts doch gar nicht wirklich.. ..sagt meine Guido immer..

Grüße
Biber
[/Re. OT]
Bitte warten ..
Mitglied: GunterR
12.07.2010 um 17:22 Uhr
Zitat von Biber:
[Re. OT]

Moin GunterR,

> Zitat von GunterR:
> ----
> @Biber
>
> Ich glaube ich wähle dann doch keine Splitterpartei
War doch nur ein total an den Haaren herbeigezogenes Beispiel - so was Dreistes gibts doch gar nicht wirklich.. ..sagt meine
Guido immer..


Grüße
Biber
[/Re. OT]

Ich fand (sorry, finde) es gut, zudem stimmt es ja auch.

Gruß
Gunter
Bitte warten ..
Mitglied: LotPings
12.07.2010 um 17:50 Uhr
Zitat von Biber:
@LotPings
Ich weiss nicht, ob ich so hochdeutsch wie du reagiert hätte mit "Das ist aber ein recht wichtiges Detail das du da unterschlagen hattest.".
Ich wäre vermutlich ausgetickt an so einem Montag.
Ich bin halt gut drauf heute

Nachdem die Spring-vor-die-Brust-Bolzländer nicht Weltmeister geworden sind ....

Gruß
LotPings
Bitte warten ..
Mitglied: tommhii
13.07.2010 um 07:00 Uhr
Ja aber das Spiel von Spanien war auch nicht weltmeisterlich ich würde sagen die letzten beiden Spiele hatte Spanien nur Glück. Ich dank Dir erstmal für deine Hilfe werd es heute mal ausprobieren.

Gruß
Tommhii


hab mal deinen batch probiert läuft leider nicht, aber trotzdem Danke für den Versuch zu helfen, was ja bei manchen Menschen nicht so selbstvertändlich ist
Bitte warten ..
Mitglied: Connor1980
13.07.2010 um 08:31 Uhr
Hallo,

da hat sich der gute LotPings so viel Mühe gemacht, da wäre es doch nur Hilfreich und nett auch zu sagen, was nicht funktioniert. Evlt. ist er selber oder jemand anders auch nochmal bereit Hilfe zu leisten.

Grüße
Bitte warten ..
Mitglied: LotPings
13.07.2010, aktualisiert 18.10.2012
@Coonor1980, Stimm vollkommen,

habe es bis jetzt nicht getestet und deshalb ein fehlendes %-Zeichen übersehen.

Aber die Fehlermeldung:
Die folgende Verwendung des Pfadoperators zur Ersetzung eines Batchparameters 
ist ungültig: %~nxA" & Call :ProcFile
wäre schon hilfreich gewesen.

Ich habe diesen obigen Batch angepasst.

Gruß
LotPings
Bitte warten ..
Mitglied: tommhii
13.07.2010 um 13:05 Uhr
Danke LotPings

Gruß
Tommhii
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung!

(2)

Erfahrungsbericht von ashnod zum Thema Internet ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (15)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...