arkent
Goto Top

Viele Dateien mit gleichem Inhalt aus einer Datei füllen

Hallo liebe Batch & PowerShell Fachleute.

Ich habe ein Verzeichnis mit zahlreichen html Dateien.
Da die Struktur der Homepage komplett geändert werden soll, darf ich nun in ca. 4000 html Dateien eine Standardseite schreiben.
Ich habe natürlich keine Lust 4000 mal die erstellte Seite zu kopieren und zu überschreiben.

Wer kann mir sagen, wie ich z.B. in einer Batch diese eine Datei auf alle *.thml überschreibe?

mein erster Ansatz war
for /f copy neu.html \alt\*.html ....
aber da bin ich nicht weiter gekommen da die Schleife nicht auf das Ziel funktioniert.

Kann mir jemand helfen?

Arken Thompson

Content-Key: 501155

Url: https://administrator.de/contentid/501155

Printed on: May 4, 2024 at 16:05 o'clock

Member: ArkenT
ArkenT Oct 03, 2019 at 14:05:36 (UTC)
Goto Top
Der Batchbefehl den ich ausprobiert habe lautet:

For %%f In (\Pfad\neu.html Pfad\Homepage\*.html) Do Copy %%f

und einige Varianten auch.
Es wird halt keine Schleife auf das Zielverzeichnis gemacht.
Ich habe daher im Moment keine Idee.
Member: rubberman
rubberman Oct 03, 2019 at 15:05:09 (UTC)
Goto Top
Ich gehe davon aus dass du bereits bei den relativen Pfaden einen Fehler gemacht hast. Der vorangestellte Backslash bedeutet "relativ zum derzeitigen Laufwerk".
Teste
for %%f in ("Pfad\Homepage\*.html") do copy /y "Pfad\neu.html" "%%~f"  
Steffen
Member: Crusher79
Crusher79 Oct 03, 2019 at 18:02:38 (UTC)
Goto Top
Hi,

wieso aber nochmal 4000 Dateien anfassen? Auch wenn man es einfach mit einen Script abfeuern kann. Was ist mit einem CMS? Um was für eine Seite geht es denn hier?

Mit CMS kannst du beliebig oft statischen/ oder dynamischen Content Menü-Punkte etc. zuweisen.

Batch/ PowerShell sind kein Thema. Würde gehen. Nur macht das wirklich nachhaltig Sinn?

mfg Crusher
Member: ArkenT
ArkenT Oct 04, 2019 at 09:56:16 (UTC)
Goto Top
Danke für die antworten,

CMS kommt leider nicht in Frage, da es noch weit komplizierter ist als dargestellt.

Es geht um insgesamt 100.000de solcher Verzeichnisse auf diversen entfernten Laufwerken auf die z.T. nur eingeschränkter Zugriff möglich ist.
Zudem sind das zum großen Teil unvorstellbar wirre Strukturen entstanden durch unfachlichen Umgang damit.
Daher soll es eine BATCH sein das ich leicht überall laufen lassen kann - was ich aber nicht wirklich gut beherrsche.

Selbst mit CMS so ich denn zugriff darauf hätte wäre das ellelange Arbeit.
Member: ArkenT
ArkenT Oct 04, 2019 at 09:58:34 (UTC)
Goto Top
Danke rubbermann,
das ist sicherlich ein guter Hinweis dem ich nachgehen werde.

Aber wie bekomme ich die Schleife auf den Zielpfad hin statt auf den Quellpfad?

Gruß
Arken
Member: rubberman
Solution rubberman Oct 04, 2019 at 10:44:47 (UTC)
Goto Top
Sorry, aber ich laufe doch über den Zielpfad und such alle dort zu überschreibenden html Dateien. Oder habe ich was falsch verstanden?
Wenn du das Ganze noch rekursiv in alle Unterverzeichnisse brauchst, dann versuche es mit FOR /R, à la
for /r "Pfad\Homepage" %%f in ("*.html") do copy /y "Pfad\neu.html" "%%~f"  

Steffen
Member: ArkenT
ArkenT Oct 04, 2019 at 14:56:16 (UTC)
Goto Top
Danke rubberman (Level 3),

Das ist die Lösung.
Das konnte ich jetzt innerhalb einer batch über alle Pfade laufen lassen und habe mit einem Befehl innerhalb 30 Sekunden 936.889 Dateien gleichgesetzt.

Viele Vielen Dank
Arken
Mitglied: 141320
141320 Oct 04, 2019 updated at 15:45:43 (UTC)
Goto Top
Zitat von @ArkenT:
Das konnte ich jetzt innerhalb einer batch über alle Pfade laufen lassen und habe mit einem Befehl innerhalb 30 Sekunden 936.889 Dateien gleichgesetzt.
Und 936.888 mal Platz verschwendet. Ein Sym- oder Hardlink (mklink /?) hätte es hier wohl auch getan wenn die Files sowieso alle den gleichen Inhalt haben sollen, nur das du dann etlichen Speicherplatz gespart hättest face-smile.
Wird wohl mal Zeit für eine Datenbank face-wink.
Member: ArkenT
ArkenT Oct 05, 2019 at 12:04:59 (UTC)
Goto Top
nc6400,
Bei unbekannten und überlappenden Strukturen die nicht bzw. unzureichend dokumentiert wurden, innerhalb einer Datenstruktur die weiter funktionieren muss ...
Das war eine schnelle Zwischenhilfe.
Jetzt haben 400 Moderatoren Zeit um alles andere gerade zu ziehen und eine konsistente Strukur auf zu bauen.
Das wäre laut meiner Kollegen die sich damit aus kennen mit Sym- oder Hardlink problematisch bzw. hätte die Nutzung gefährdet.