Moin!
Wie mache ich das am besten (keine Perl-/PHP- o.ö. Kenntnisse vorhanden)?
Danke für Eure potentielle Hilfe
Rudi
Hm. Was hast Du? Ich nehme mal an, irgendein Windows.
* Der alte HTML-Editor 5.2 (den gabs noch als Freeware) von Meybohm konnte derlei batch-Aufgaben erledigen.
* Mit einem Shell-Skript drum herum kann auch das für Windows verfügbare Tool sed tun.
* Klar geht das auch mit PHP - in einer Shell.
<?php
##
# splitter.php
##
# Dateien festlegen
# Variante 1: als Array:
$arFiles=array(
'datei1.txt',
...
'datei10.txt'
);
# Variante 2: aus einer Textdatei:
$arFiles=file('Dateinamen.txt');
# Variante 3: alle .txt- Dateien in einem Verzeichnis:
$strDirName="C:/texte";
$DIR = dir($strDirName);
while (false !== ($entry = $DIR->read())) {
if (strpos($entry, '.txt')) {
$arFiles[]=$strDirName.'/'.$entry
}
}
$DIR->close();
#In jedem Fall hast Du jetzt ein Array.
$search="Ab hier löschen:";
foreach ($arFiles as $strFileName) {
if (!is_file($strFileName)) {
print "Fehler: $strFileName ist keine Datei\n";
} elseif (!is_readable($strFileName)) {
print "Fehler: $strFileName ist nicht lesbar. Rechte?\n";
} elseif (!is_writable($strFileName)) {
print "Fehler: $strFileName ist nicht schreibbar. Rechte?\n";
} else {
# Datei einlesen und gleich am String in 2 Teile auftrennen
$arParts=explode($search, file_get_contents($strFileName), 2);
#prüfen, ob es was zu tun gibt:
if isset($arParts[1]) {
# Ersten Teil schreiben:
file_put_contents($arParts[0],$strFileName);
}
}
}
print "Fertig\n".
?>
C:\dir\> php splitter.php
UNGETESTET! Schreibfehler sind möglich. Hilfe zu den Befehlen gibt es bei php.net.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix