Szenario: Alle Kontakte aus dem P910i auf das HTC Touch Diamond übertragen ohne dass die Kontakte auf der SIM-Karte liegen. Es steht kein Windows-System zur Verfügung, sondern nur Linux.
1. Auf dem P910i unter Kontakte > Markieren > Alle auswählen und die Kontakte an das Linux-System per Bluetooth senden.
2. Auf dem Linux-Rechner existiert nun eine Alle.vcf. Diese kann nicht direkt an HTC Touch Diamond übertragen werden. Windows Mobile 6.1 kommt -zumindest bei mir- nicht damit klar, dass in der VCF mehr als Eintrag vorhanden ist. Das Senden per Bluetooth schlägt mit der Fehlermeldung “Senden fehlgeschlagen – die Dateien wurden nicht vollständig übertragen” fehl.
3. Folgendes PHP-Script im Verzeichnis ausführen, in dem die Alle.vcf liegt:
<?php
$iEntry = 1;
$content = file_get_contents("Alle.vcf");
$buffer = "";
$lines = explode("\r\n", $content);
$line = "";
for ($i = 0, $m = sizeof($lines); $i < $m; $i++) {
$line = $lines[$i];
$buffer .= $line . "\n";
if ($line == "END:VCARD") {
echo "Writing to " . $iEntry . " :\n";
file_put_contents("vc.".$iEntry.".vcf", $buffer);
$buffer = "";
$iEntry++;
}
}
?>
4. Es existiert nun für jeden Kontakt eine einzelne VCard. Diese müssen mit
# Vorher eventuell ein apt-get tofrodos machen unix2dos -u *.vcf
in das DOS-Format konvertiert werden (ich weiß, dass ich das auch gleich in das PHP-Script hätte packen können)
5. Über das Gnome-Bluetooth-Applet alle vc.*.vcf-Dateien auswählen und per Bluetooth an das HTC Touch Diamond übertragen – vorher natürlich die SIM-Karte wechseln.
Sag was!