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, 3526 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 ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
Suchen, Ersetzen und Entfernen von Dateiinhalten auf Textbasis (1)

Frage von DanteManor zum Thema Batch & Shell ...

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

Frage von makroll10 zum Thema Batch & Shell ...

Batch & Shell
gelöst For f - In vielen Dateien Komma durch Punkt ersetzen (2)

Frage von alleedx zum Thema Batch & Shell ...

Batch & Shell
gelöst XML-Datei: Pfade suchen, verlinkte Dateien kopieren und Pfade ändern (4)

Frage von ELEVATOR zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...