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

Dateien suchen-ersetzen

Frage Entwicklung Batch & Shell

Mitglied: urbanswelt

urbanswelt (Level 1) - Jetzt verbinden

16.01.2011 um 17:07 Uhr, 3551 Aufrufe, 6 Kommentare

Hallo Forum,

leider hat meine Suche hier keine Treffer aufgezeigt, die meiner Aufgabenstellung entsprechen würden.

Es gibt einen Ordner mit mit einer Vielzahl von PDF Dokumenten als Vorraussetzung (rnd 4000).
Diese PDF Dokumente gibt es in einer anderen Ordnerstruktur mit vielen Unterverzeichnissen auch.

Mein Wunsch wäre es nun, wenn ein PDF Dokument im Quell Ordner dem im Ziel Ordner entspricht soll es mit dem aus der Quelle überschrieben werden.
Wie müsste ich da ran gehen um das zu bewerkstelligen ?

Zusammenfassung:

Quellordner mit den Originalen = C:\temp

Start des Zielordners der rekursive durchsucht werden müsste = C:\Ablage

Ergebnis:

Wenn die Datei vom Quellordner gleich der des Zielordners entspricht soll die Quelldatei die im Ziel überschreiben.
Mitglied: Biber
16.01.2011 um 17:28 Uhr
Moin urbanswelt,

willkommen im Forum.
Wenn ich die Fragestellung richtig lese, dann liegen die Copy-Quell-PDFs in einem Ordner (ohne Unterordnerstruktur).

Dann wäre der Ansatz so wie in folgender proof-of-concept-Zeile skizziert.
Demo am Cmd-Prompt, führendes ">" nicht mit eingeben
01.
>for /r "C:\Ablage" %i in (*.pdf) do @if exist "c:\temp\%~nxi" @echo move c:\temp\%~nxi "%i"
Wenn das Ergebnis plausibel aussieht, dann das "@echo" weglassen und das MOVE durchnudeln lassen.

Grüße
Biber
[Edit] Tippfehler überflüssiger Doppelpunkt entfernt (s.u.) [/Edit]
Bitte warten ..
Mitglied: urbanswelt
16.01.2011 um 17:59 Uhr
Hallo Biber,

genau so etwas habe ich als Ansatz gesucht !
Ich danke dir recht herzlich =)

Das einzigste was zu viel gewesen ist war bei "c:\temp:" der doppelpunkt hinter temp.
Der vollständigkeitshalber wäre es interessant zu Wissen, wie das ganze aussehen müsste wenn der Quell Ordner doch
mit mehreren Unterordnern kommen würde.

besten Dank
Gruss Urbanswelt
Bitte warten ..
Mitglied: Biber
16.01.2011 um 18:13 Uhr
Moin urbanswelt,

den Tippfehler oben hab ich berichtigt.

Falls die möglichen Unterordner abzählbar wenige sind, dann würde ich so eine Verfeinerung wählen, hier mal als Batch :
01.
for /r "C:\Ablage" %%i in (*.pdf) do ( 
02.
          if exist "c:\temp\%%~nxi" @echo move c:\temp\%%~nxi "%%i" 
03.
          if exist "c:\temp\SubfolderA\%%~nxi" @echo move c:\temp\SubFolderA\%%~nxi "%%i" 
04.
         if exist "c:\temp\SubfolderB\%%~nxi" @echo move c:\temp\SubFolderB\%%~nxi "%%i" 
05.
 )
Natürlich lässt sich das Ganze auch mit zwei ineinander geschraubten FOR/R-Anweisungen völlig variabel halten... aber wenn das nicht sein muss, dann ist es so etwas lesbarer.

Grüße
Biber
Bitte warten ..
Mitglied: urbanswelt
16.01.2011 um 18:28 Uhr
Hallo Biber,

mit der Lesbarkeit hast du natürlich recht. Da meine Frage zu hundert Prozent von dir beantwortet wurde, werde ich diesen Beitrag nun als gelöst markieren.

Danke schön !

Gruss Urbanswelt
Bitte warten ..
Mitglied: bastla
17.01.2011 um 08:08 Uhr
Hallo urbanswelt und Biber!

Wenn auch hundert Prozent nicht zu toppen ist , trotzdem noch ein Stichwort:
replace
Grüße
bastla
Bitte warten ..
Mitglied: Biber
17.01.2011 um 08:28 Uhr
Moin bastla,

keine Ahnung, wie oft ich das "Replace"-Feature gedanklich vollkommen ausgeblendet habe... dabei ist es hier wirklich nützlich.

Damit reduziert sich die ganze Klamotte (falls es nur ein Quellverzeichnis gäbe) auf
01.
replace C:\Temp\*.pdf C:\Ablage\  /s
...was naturlich noch les- und wartbarer ist als eine handgeschnitzte FOR/R-Rekursivabarbeitung.

Danke dir.
Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
VB for Applications
gelöst VBS Suchen und Ersetzen bei UTF8 XML Dateien funktioniert nicht (7)

Frage von Nexxudus zum Thema VB for Applications ...

Batch & Shell
gelöst Suchen ersetzen mit Sonderzeichen (2)

Frage von GNLen1 zum Thema Batch & Shell ...

Windows 10
gelöst Werden Dateien beim Ersetzen wirklich überschrieben? (3)

Frage von Nexder zum Thema Windows 10 ...

Batch & Shell
gelöst Suchen und Ersetzen mehrerer Suchbegriffe per Batch (4)

Frage von makroll10 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Microsoft Office
Office Druck fehler (18)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Netzwerkmanagement
Windows Server 2008 R2: "netsh reset" nicht verfügbar? (11)

Frage von RickTucker zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
Uninitialisierte Festplatte - Daten retten (11)

Frage von peterla zum Thema Festplatten, SSD, Raid ...

Microsoft Office
Outlook 2016 in Ordneransicht starten - GPO (9)

Frage von D-Line zum Thema Microsoft Office ...