4

誤って連絡先を削除してしまい、そのためのバックアップがありません。連絡先 2.db を取得しました。.db を .vcf に変換しようとしています。今、私はRubyを使用してファイルを変換しています。これが私がしたことです

gem install sqlite3
gem install vpim
path to contacts2-to-vcard.rb/contacts2-to-vcard.rb > contacts.vcf

私はいつも「アクセスが拒否されました」と言っています。そして、フォルダーをフルコントロールに設定しましたが、そのコマンドを実行するたびに、Windows 8を使用しているため、読み取り専用に変更されます。助けはありますか? または、.db を .vcf に変換する別の理由はありますか? ティア

4

3 に答える 3

1

このタスクを実行するために、Dustin van Schouwen のコードを使用しようとしています。まず第一に、彼に感謝の意を表したいと思います。それから、それを機能させるために追加/変更する必要があるいくつかの詳細について言及します。

この行:

db = SQLite3::Database.new path_to_contactsdb_file

私は次のように変更しました:

db = SQLite3::Database.new ("contacts2.db")

前のものを使用した場合と同様に、エラーは発生しませんが、実際にはデータベースに接続していないようです(空のデータベースが作成されると思います)。

私がする必要があった他の変更は、この他の行でした:

csv += '"' + k + '",

"k" が nil の場合、コードは失敗するため、if (三項構文) を導入して解決したところ、問題なく動作しました。

csv += '"' + (k == nil ? "" : k) + '",'
于 2013-10-25T00:45:21.843 に答える